不同背景的 ButtonView
ButtonView with different background
我设计了一个圆角按钮。
button_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners android:radius="10dp"/>
</shape>
布局中:
<Button
android:background="@drawable/button_selector"
.../>
每次点击应该按钮的颜色都会改变:
在activity中,在onClickListener()里面:
btn1.setBackgroundColor(getAnswerColor(choiceArray[0]));
但是如果我这样做,我不会得到圆角。
如何得到圆角?请提出建议。
您可以从这个工具网站制作您的按钮 ==> Android Button Maker
您可以使用此工具和代码制作任何类型的按钮。
这里我根据您的要求编辑这个答案。
所以,为不同的背景颜色制作两个不同的按钮,并使用选择器来更改使用此代码的背景 onClick.For。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/click_button" android:state_pressed="true" />
<!-- When not selected, use white-->
<item android:drawable="@drawable/not_click_button" android:state_pressed="false" />
</selector>
试试这个
我检查了以下 xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item >
<shape android:shape="rectangle" >
<corners android:radius="13dip" />
<stroke android:width="1dip" android:color="#5e7974" />
<gradient android:angle="-90" android:startColor="#8dbab3" android:endColor="#58857e" />
</shape>
</item>
</selector>
在按钮上单击添加此代码
StateListDrawable drawable = (StateListDrawable) v.getBackground();
drawable.setColorFilter(Color.RED,PorterDuff.Mode.SRC_ATOP);
button1.setBackground(drawable);
btn1.setBackgroundResource(R.drawable.button_selector);
GradientDrawable drawableGradient = (GradientDrawable) btn1.getBackground();
drawableGradient .setColor(Color.RED);
我设计了一个圆角按钮。
button_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners android:radius="10dp"/>
</shape>
布局中:
<Button
android:background="@drawable/button_selector"
.../>
每次点击应该按钮的颜色都会改变:
在activity中,在onClickListener()里面:
btn1.setBackgroundColor(getAnswerColor(choiceArray[0]));
但是如果我这样做,我不会得到圆角。
如何得到圆角?请提出建议。
您可以从这个工具网站制作您的按钮 ==> Android Button Maker
您可以使用此工具和代码制作任何类型的按钮。
这里我根据您的要求编辑这个答案。
所以,为不同的背景颜色制作两个不同的按钮,并使用选择器来更改使用此代码的背景 onClick.For。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/click_button" android:state_pressed="true" />
<!-- When not selected, use white-->
<item android:drawable="@drawable/not_click_button" android:state_pressed="false" />
</selector>
试试这个
我检查了以下 xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item >
<shape android:shape="rectangle" >
<corners android:radius="13dip" />
<stroke android:width="1dip" android:color="#5e7974" />
<gradient android:angle="-90" android:startColor="#8dbab3" android:endColor="#58857e" />
</shape>
</item>
</selector>
在按钮上单击添加此代码
StateListDrawable drawable = (StateListDrawable) v.getBackground();
drawable.setColorFilter(Color.RED,PorterDuff.Mode.SRC_ATOP);
button1.setBackground(drawable);
btn1.setBackgroundResource(R.drawable.button_selector);
GradientDrawable drawableGradient = (GradientDrawable) btn1.getBackground();
drawableGradient .setColor(Color.RED);