选择器按钮在android上对我的按钮不起作用。你喜欢吗?
嗨,朋友们。我在下面编写了选择器按钮在android上对我的按钮不起作用。你喜欢吗?,android,xml,button,selector,Android,Xml,Button,Selector,嗨,朋友们。我在下面编写了selector\u button.xml,使我的按钮更漂亮。但这根本不会影响我的按钮。我错在哪里 这是selector\u button.xml <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <!-- When clicked --> &l
selector\u button.xml
,使我的按钮更漂亮。但这根本不会影响我的按钮。我错在哪里
这是selector\u button.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- When clicked -->
<item android:state_pressed="true"
android:state_selected="true" >
<shape >
<gradient
android:angle="90"
android:centerColor="@color/Lightgray"
android:endColor="@color/White"
android:startColor="@color/LightBlue"/>
<corners android:radius="12dip" />
<stroke
android:width="0dip"
android:color="@color/LightBlue" />
</shape>
</item>
<!-- When not clicked-->
<item >
<shape >
<gradient
android:angle="90"
android:centerColor="#ff008888"
android:endColor="@color/LightBlue"
android:startColor="@color/Lightgray"/>
<corners android:radius="12dip" />
<stroke
android:width="0dip"
android:color="@color/LightBlue" />
</shape>
</item>
</selector>
试着这样做,兄弟:
在xml
中设置如下标记:
android:tag="0"
在onClick
功能中:
String tag = (String) v.getTag();
if(!tag.equalsIgnoreCase("0"))
{//apply which you want(styling)
v.setBackgroundResource(R.drawable.active_baner_community);
v.setTag("0");
}
else
{//apply which you want(styling)
v.setBackgroundResource(R.drawable.baner_community);
v.setTag("1");
}
将此属性添加到第二个项目标记中 并确保将此按钮的背景设置为@drawable/selector_button更改为此(使用ur颜色)
我终于通过《朋友指南》解决了这个问题。我把代码改成了这个,并且工作得很好
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- When clicked -->
<item android:state_pressed="true">
<shape >
<gradient
android:angle="90"
android:centerColor="@color/Lightgray"
android:endColor="@color/White"
android:startColor="@color/LightBlue"/>
<corners android:radius="12dip" />
<stroke
android:width="0dip"
android:color="@color/LightBlue" />
</shape>
</item>
<!-- When not clicked-->
<item android:state_pressed="false" >
<shape >
<gradient
android:angle="90"
android:centerColor="#ff008888"
android:endColor="@color/LightBlue"
android:startColor="@color/Lightgray"/>
<corners android:radius="12dip" />
<stroke
android:width="0dip"
android:color="@color/LightBlue" />
</shape>
</item>
</selector>
@Revind Maurya谢谢。但我必须在何处编写android:tag=0?在xml中,哪个按钮有我的按钮?在选择器中,哪个按钮有我的按钮。xml?在您的按钮上,哪个按钮要更改样式?您还必须在您的按钮上应用单击列表。我必须添加什么属性?对不起,这是一个类型,而不是make
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- When clicked -->
<item android:state_pressed="true"><shape>
<gradient android:angle="90"
android:centerColor="#999966"
android:endColor="@android:color/white"
android:startColor="#5E5EFF" />
<corners android:radius="12dip" />
<stroke android:width="0dip"
android:color="#5E5EFF" />
</shape></item>
<!-- When not clicked -->
<item android:state_selected="false"><shape>
<gradient android:angle="90"
android:centerColor="#ff008888"
android:endColor="#5E5EFF"
android:startColor="#999966" />
<corners android:radius="12dip" />
<stroke android:width="0dip"
android:color="#5E5EFF" />
</shape></item>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- When clicked -->
<item android:state_pressed="true">
<shape >
<gradient
android:angle="90"
android:centerColor="@color/Lightgray"
android:endColor="@color/White"
android:startColor="@color/LightBlue"/>
<corners android:radius="12dip" />
<stroke
android:width="0dip"
android:color="@color/LightBlue" />
</shape>
</item>
<!-- When not clicked-->
<item android:state_pressed="false" >
<shape >
<gradient
android:angle="90"
android:centerColor="#ff008888"
android:endColor="@color/LightBlue"
android:startColor="@color/Lightgray"/>
<corners android:radius="12dip" />
<stroke
android:width="0dip"
android:color="@color/LightBlue" />
</shape>
</item>
</selector>