如何为按钮的按下状态设置不同的颜色?

2024-03-11

我有一些Buttons在我的 Android 应用程序上。它们有图标和文本。我可以设置a的背景颜色Button在java代码中。如果单击该按钮,我想以不同的颜色显示。那么,如何为按下状态设置不同的颜色Button?

<Button 
  android:id="@+id/save" 
  android:layout_width="130dip"
  android:layout_height="wrap_content" 
  android:scaleType="center"
  android:drawableTop="@drawable/save"
  android:text="Save"
  android:textColor="#FFFFFF"
  android:textSize="14dip" 
>

The onCreate method:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.homescreen);
 save = (Button)findViewById(R.id.save);
    save.setBackgroundColor(Color.rgb(27,161,226)); }

使用按钮图像创建 xml 文件,如下所示,在可绘制文件夹中使用 mybutton.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_pressed="true" android:drawable="@color/blue" />
   <item android:state_focused="true" android:drawable="@color/gold" />
   <item android:drawable="@color/grey" />
</selector>

并在按钮 xml 代码中使用它

android:background="@drawable/mybutton"

像这样在资源-->值-->colors.xml中添加这些颜色代码

<?xml version="1.0" encoding="utf-8"?>
<resources>   
  <color name="blue">#0066cc</color>
  <color name="gold">#e6b121</color>
  <color name="grey">#cccccc</color>
</resources>

参考 :触摸时更改按钮背景 https://stackoverflow.com/a/8132500/964741

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为按钮的按下状态设置不同的颜色? 的相关文章

随机推荐