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

问题描述

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

现在有个需求是当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);
}

}

解决方案

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

解决方案二:

Android 自定义Button
Androidの自定义圆角按钮button

解决方案三:

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

解决方案四:

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" />
时间: 2024-12-22 02:59:30

android:自定义button继承自button, 调用setTextcolor无效的相关文章

android 自定义Button,满足你对Button呈现样式的一系列要求

转载请注明出处:王亟亟的大牛之路 我们平时自定义的一些Button通常是改改颜色啊,文本啊,圆角啊之类的.如果要做到再高级点就需要用一个大布局还拼接了,如果一个页面有很多样式不同的这样的按钮,还真不怎么好操作. 今天给大家上一个FancyButton能很好的帮助我们简化这些操作 项目结构: 只有一个类外加一些assets包下的字体文件或资源文件的一些Icon就能呈现以下效果: 首先先介绍下FancyButton这个类的一些重要的方法和实现: 继承LinearLayout根据我们的实际场景需要再判

android自定义button点击效果

package com.min.androidtest;      import android.app.Activity;   import android.content.Context;   import android.graphics.Canvas;   import android.graphics.Color;   import android.graphics.Paint;   import android.graphics.Rect;   import android.os.B

Android 自定义Button控件实现按钮点击变色_Android

效果图如下所示: 一.shape 样式:(在drawable新建-->new-->Drawable resource file 在父级标签selector添加Item ) <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item and

Android 自定义ImageView实现圆角/圆形 附加OnTouchListener详细注释以及Button圆角

转载请注明出处:王亟亟的大牛之路 平时要用一些非方方正正的按钮之类的小伙伴们是如何实现的?RadioButton?ImageButton?还是其他? 今天亟亟上的是ImageView来实现的 先上下效果图(目录结构) 分析: shape.xml用于Button的"倒角"(做过机械类的都懂,哈哈) attr.xml用于自定义ImageView的标签的定义 ids.xml用于控件findbyid用,为什么补+id 等会我会来解释 效果图: 分析:一个Button 2个自定义ImageVie

Android自定义button点击效果的两种方式_Android

我们在界面上经常会用到button按钮,但通常button点击后看不到点击的效果,如果用户连续点击了两次,就会报NAR错误,这样交互性就比较差了.如果我们自定义了button点击效果,比如我们点击了button能让我们看到我们确实点击了button按钮,这样就会有效的避免重复点击了. 自定义点击效果有两种方式,一种是在xml中定义,另一种是在代码中定义. 首先看一下如何在xml中定义: 在drawable下新建selector.xml文件:          <?xml version="

Android自定义button点击效果的两种方式

我们在界面上经常会用到button按钮,但通常button点击后看不到点击的效果,如果用户连续点击了两次,就会报NAR错误,这样交互性就比较差了.如果我们自定义了button点击效果,比如我们点击了button能让我们看到我们确实点击了button按钮,这样就会有效的避免重复点击了. 自定义点击效果有两种方式,一种是在xml中定义,另一种是在代码中定义. 首先看一下如何在xml中定义: 在drawable下新建selector.xml文件: <?xml version="1.0"

Android 自定义Button控件实现按钮点击变色

效果图如下所示: 一.shape 样式:(在drawable新建-->new-->Drawable resource file 在父级标签selector添加Item ) <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item and

Android控件系列之Button以及Android监听器使用介绍_Android

学习目的: 1.掌握在Android中如何建立Button 2.掌握Button的常用属性 3.掌握Button按钮的点击事件(监听器) Button是各种UI中最常用的控件之一,它同样也是Android开发中最受欢迎的控件之一,用户可以通过触摸它来触发一系列事件,要知道一个没有点击事件的Button是没有任何意义的,因为使用者的固定思维是见到它就想去点! 先看下Android中普通Button的样子: 以及点中Button后的样子: 我在Android控件系列之XML静态资源中已经强调了布局和

Android控件系列之Button以及Android监听器使用介绍

学习目的: 1.掌握在Android中如何建立Button 2.掌握Button的常用属性 3.掌握Button按钮的点击事件(监听器) Button是各种UI中最常用的控件之一,它同样也是Android开发中最受欢迎的控件之一,用户可以通过触摸它来触发一系列事件,要知道一个没有点击事件的Button是没有任何意义的,因为使用者的固定思维是见到它就想去点! 先看下Android中普通Button的样子: 以及点中Button后的样子: 我在Android控件系列之XML静态资源中已经强调了布局和