2 lbcab lbcab 于 2016.04.11 14:35 提问

android:自定义button继承自button, 调用setTextcolor无效 2C

现在有个需求是当button失去焦点时, text文字的颜色会变化.
1. 在attrs.xml中我声明了两个属性normalColor和selectedColor,


2. 然后在自定义button类中:
TypedArray typeArray = mContext.obtainStyledAttributes(attrs, R.styleable.LtButton);

if (null != typeArray) {
int typeArrayLength = typeArray.length();
for (int i = 0; i < typeArrayLength; ++i) {
int idx = typeArray.getIndex(i);
switch (idx) {
case R.styleable.LtButton_lttext:
setText(typeArray.getString(idx)); //此方法没用不能设置button的text
break;
case R.styleable.LtButton_normalColor:
mNormalColor = typeArray.getColor(idx, Color.WHITE);
setTextColor(mNormalColor);
break;
case R.styleable.LtButton_selectedColor:
mSelectedColor = typeArray.getColor(idx, Color.BLACK);
这里会导致button没有了背景.
3. 重载setSelected方法, 没有用
@Override
public void setSelected(boolean selected) {
super.setSelected(selected);
if(selected) {
setTextColor(mSelectedColor);
} else {

setTextColor(mNormalColor);
}

}

4个回答

sl_18500
sl_18500   2016.04.11 14:42

android按钮被点击文字颜色变化效果:http://blog.csdn.net/maylian7700/article/details/6978131

sl_18500
sl_18500 有直接的不用?干嘛非要去自定义?
一年多之前 回复
lbcab
lbcab 现在的需求是自定这种类型的button, 不是怎么去实现点击,改变文字颜色变化
一年多之前 回复
CSDNXIAON
CSDNXIAON   2016.04.11 14:43

Android 自定义Button
Androidの自定义圆角按钮button
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

lxk_1993
lxk_1993   Rxr 2016.04.11 17:03

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



lxk_1993
lxk_1993 这样的需求没必要自定义吧
一年多之前 回复
xueshanhaizi
xueshanhaizi   2016.04.12 10:10

android:textColor 也可以设置selector的
<?xml version="1.0" encoding="utf-8"?>

<item android:color="@color/color_enable" android:state_enabled="true"/>
    <item android:color="@color/color_checked" android:state_checked="true"/>
<item android:color="@color/default" />

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!