android– 如何为按钮选择器设置不同的主题?

android– 如何为按钮选择器设置不同的主题?,第1张

概述如何根据当前的应用主题按钮选择器设置不同的样式?这是我的button_selector.xml<?xmlversion="1.0"encoding="utf-8"?><selectorxmlns:android="http://schemas.android.com/apkes/android"><itemandroid:state_pressed="true"&

如何根据当前的应用主题为按钮选择器设置不同的样式?

这是我的button_selector.xml

<?xml version="1.0" enCoding="utf-8"?><selector xmlns:androID="http://schemas.androID.com/apk/res/androID">    <item androID:state_pressed="true">        <color androID:color="@color/color_theme1"/>        </item> <!-- pressed -->    <item androID:drawable="@color/transparent"/> <!-- default --></selector>

解决方法:

由于您的应用主题颜色位于color.xml中的color_primary中.你可以在你的选择器中使用它.但是你必须创建两个drawables文件,一个用于默认状态,另一个用于selected_state.

button_selector.xml:

<?xml version="1.0" enCoding="utf-8"?><selector xmlns:androID="http://schemas.androID.com/apk/res/androID"><!--selected/pressed/focused --><item       androID:state_selected="true"            androID:drawable="@drawable/button_selected"            />    <item androID:drawable="@drawable/button_default"/> <!-- default --></selector>

button_default.xml:

<?xml version="1.0" enCoding="UTF-8"?><shape xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:shape="rectangle"><!--this is to give gradIEnt effect --><gradIEnt   androID:angle="270"               androID:startcolor="@color/gray"               androID:endcolor="#@color/gray"               /><!-- this will make corners of button rounded --><corners    androID:topLefTradius="5dip"               androID:bottomrighTradius="5dip"               androID:topRighTradius="5dip"               androID:bottomLefTradius="5dip"/></shape>

button_selected.xml:

<?xml version="1.0" enCoding="UTF-8"?><shape xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:shape="rectangle"><!--this is to give gradIEnt effect --><gradIEnt   androID:angle="270"            androID:startcolor="@color/color_primary"            androID:endcolor="#@color/color_primary"            /><!-- this wil make corners of button rounded --><corners    androID:topLefTradius="5dip"               androID:bottomrighTradius="5dip"               androID:topRighTradius="5dip"               androID:bottomLefTradius="5dip"/></shape>

您还必须以编程方式执行以下 *** 作,以便按钮保持选中状态.

button.setonClickListener(new VIEw.OnClickListener() {            @OverrIDe            public voID onClick(VIEw v) {                if(v.isSelected())                {                    v.setSelected(false);                }                else                {                     v.setSelected(true);                }            }        });
总结

以上是内存溢出为你收集整理的android – 如何为按钮选择器设置不同的主题?全部内容,希望文章能够帮你解决android – 如何为按钮选择器设置不同的主题?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1119445.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存