如何改变在Android ToogleButton的状态改变文字颜色? [英] How to change the text color of an Android ToogleButton on state change?

查看:1476
本文介绍了如何改变在Android ToogleButton的状态改变文字颜色?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的性按钮有不同颜色的背景为每个状态(红色和白色)。 现在我需要在激活时改变切换按钮文本(红/白)的颜色。 随着XML我只是无法得到它的工作,也许任何人有一个想法,我做错了什么?

我在布局XML按钮:

 <切换按钮
机器人:paddingRight =20dip
机器人:ID =@ + ID / pseudo_tab_right
机器人:layout_weight =50
机器人:layout_width =WRAP_CONTENT
机器人:TEXTSTYLE =黑体
机器人:以下属性来=10dip
机器人:TEXTSIZE =12SP
机器人:layout_height =WRAP_CONTENT
机器人:文字颜色=@可绘制/ pseudo_tab_text_color
机器人:textOff =@字符串/ pseudo_tab_right_text
机器人:纹元=@字符串/ pseudo_tab_right_text
机器人:背景=@可绘制/ tab_button_right
/>
 

XML的按钮状态:

 < XML版本=1.0编码=UTF-8&GT?;
<选择的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android>
<项目安卓state_checked =真正的机器人:可绘制=@可绘制/ sort_button_red_right_43/>
<项目机器人:可绘制=@可绘制/ sort_button_white_right_43/>
< /选择器>
 

和XML的颜色:

 < XML版本=1.0编码=UTF-8&GT?;
<选择的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android>
<  - !pressed  - >
<项目的android:STATE_ pressed =真正的机器人:颜色=#4f5459/>

<! - 集中 - >
<项目安卓state_focused =真正的机器人:颜色=#4f5459/>

<! - 默认 - >
<项目的android:颜色=#FFFFFF/>

<! - 尝试这些了,但没有工作 - >
<项目安卓state_checked =真正的机器人:颜色=#FF0000/>
<项目安卓state_enabled =真正的机器人:颜色=#ff00dd/>
<项目安卓state_selected =真正的机器人:颜色=#ff00dd/>
<项目安卓STATE_ACTIVE =真正的机器人:颜色=#ff00dd/>

< /选择器>
 

解决方案

发现: 现在,我使用安卓state_checked =真正的机器人:state_checked =假

颜色的xml:

 < XML版本=1.0编码=UTF-8&GT?;
<选择的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android>
    <项目安卓state_checked =真正的机器人:颜色=#FFFFFF/>
    <项目安卓state_checked =假的Andr​​oid版本:颜色=#000000/>
< /选择器>
 

my toggle-Button has different colored backgrounds for each state(red and white). Now I need to change the color of the togglebutton-text(red/white) when activated. With xml I just cannot get it working, perhaps anybody has an idea what I'm doing wrong?

My button in the Layout xml:

<ToggleButton 
android:paddingRight="20dip" 
android:id="@+id/pseudo_tab_right" 
android:layout_weight=".50" 
android:layout_width="wrap_content" 
android:textStyle="bold" 
android:paddingLeft="10dip" 
android:textSize="12sp" 
android:layout_height="wrap_content" 
android:textColor="@drawable/pseudo_tab_text_color"
android:textOff="@string/pseudo_tab_right_text"
android:textOn="@string/pseudo_tab_right_text"
android:background="@drawable/tab_button_right" 
/>  

xml for button-states:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/sort_button_red_right_43" /> 
<item android:drawable="@drawable/sort_button_white_right_43" />
</selector>

And xml for color:

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

<!-- focused -->
<item android:state_focused="true" android:color="#4f5459" />

<!-- default -->
<item android:color="#ffffff" /> 

<!-- trying these out, but none works -->
<item android:state_checked="true" android:color="#ff0000" />
<item android:state_enabled="true" android:color="#ff00dd" />
<item android:state_selected="true" android:color="#ff00dd" />
<item android:state_active="true" android:color="#ff00dd" />

</selector>

解决方案

Found it: now I'm using android:state_checked="true" and android:state_checked="false".

color-xml:

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

这篇关于如何改变在Android ToogleButton的状态改变文字颜色?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆