android - 触摸按钮更改形状中的文本颜色

标签 android xml android-layout colors

如何在用户触摸此按钮时更改按钮中的颜色文本?

这是我的 shape.xml 代码:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >


 <item android:state_pressed="true" >
<shape android:shape="rectangle">
  <gradient android:startColor="#ffcc33" 
    android:endColor="#ffcc33"
    android:angle="270" />
  <corners android:radius="4dp" />
  <stroke android:width="2px" android:color="#FFFFFF" />
</shape>
</item>

  <item android:state_focused="true" >
<shape android:shape="rectangle">
  <gradient android:startColor="#ffcc33" 
    android:endColor="#ffcc33"
    android:angle="270" />
  <corners android:radius="4dp" />
  <stroke android:width="2px" android:color="#FFFFFF" />
</shape>
</item>

  <item >
<shape android:shape="rectangle">
  <gradient android:startColor="#333333" 
    android:endColor="#333333"
    android:angle="270" />
  <corners android:radius="4dp" />
  <stroke android:width="2px" android:color="#FFFFFF" />
</shape>
</item>

</selector>

最佳答案

使用颜色选择器,像这样

src/color/button_text.xml

 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true" android:color="#000000" /> 
     <item android:state_focused="true" android:color="#000000" />
     <item android:color="#FFFFFF" />
 </selector>

然后在按钮中执行此操作

<Button
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@string/text"
   android:textColor="@color/button_text" />

关于android - 触摸按钮更改形状中的文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25223432/

相关文章:

android-layout - 使用自定义字体时,DocumentView 显示错误

java - 如何将正确的上下文传递到新的 RelativeLayout 中?安卓java

java - 检测鼠标指针消失

java - android studio 本地化不翻译

java - 以 XML 格式表示带有循环、流动的电路?

java - 从单个 DOM 元素获取原始 xml 代码

android - 在android中单击键盘中的下一个按钮时自动滚动edittext

android - Google Pass 标签未显示在 iPhone 上的 Google Pay 应用中

android - 如何使用钛以编程方式获取 Android/iPhone 的联系人列表

java - 构建您的第一个应用程序 - Android