`

Android学习 之 ColorStateList按钮文字变色

 
阅读更多

API

 

Windows平台VC,对于不同的按钮状态,采用不同的颜色显示文字,实现起来比较复杂,一般都得自绘按钮。但是Android里面实现起来非常方便。

我们首先添加一个ColorStateList资源XML文件,XML文件保存在res/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="#ffff0000"/> <!-- pressed -->
    <item android:state_focused="true"
          android:color="#ff0000ff"/> <!-- focused -->
    <item android:color="#ff000000"/> <!-- default -->
</selector>

 

Button btn=(Button)findViewById(R.id.btn);
Resources resource=(Resources)getBaseContext().getResources(); 
ColorStateList csl=(ColorStateList)resource.getColorStateList(R.color.button_text);
if(csl!=null){
     btn.setTextColor(color_state_list);//设置按钮文字颜色
}

 

或者可以这样:

 

 

XmlResourceParser xpp=Resources.getSystem().getXml(R.color.button_text); 
try {
     ColorStateList csl= ColorStateList.createFromXml(getResources(),xpp);
     btn.setTextColor(csl);
} catch (Exception e) {
     // TODO: handle exception
}

 

最后附上所有可能出现的状态:

 <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
        <item
            android:color="hex_color"
            android:state_pressed=["true" | "false"]
            android:state_focused=["true" | "false"]
            android:state_selected=["true" | "false"]
            android:state_active=["true" | "false"]
            android:state_checkable=["true" | "false"]
            android:state_checked=["true" | "false"]
            android:state_enabled=["true" | "false"]
            android:state_window_focused=["true" | "false"] />
    </selector>

 

 

转载地址:http://gundumw100.iteye.com/blog/1126126

分享到:
评论
2 楼 ysn003 2017-07-21  
这样用就好啦!!!
<Button
                    android:textColor="@color/button_text"
                    android:layout_width="120dp"
                    android:layout_height="120dp" />
1 楼 ysn003 2017-07-21  
 

相关推荐

    android点击按钮使得文字变色

    Android 点击按钮使文字变色技术详解 在 Android 开发中,点击按钮使文字变色是一种常见的交互效果,通过点击按钮,可以使按钮中的文字改变颜色,从而提供更好的用户体验。下面,我们将详细介绍实现这种效果的技术...

    android 点击变色字体或按钮

    在Android开发中,为用户提供反馈是至关重要的,而点击变色是常见的交互设计之一,能够直观地告诉用户他们已经触发了某个操作。本教程将详细讲解如何实现Android应用中的文字和按钮点击后颜色变化的两种方法。 ### ...

    Android 自定义View-图片文字变色,实现酷炫LoadingView或者进度条

    它支持 left,top,right,bottom 四个方向加载(变色),最重要的是,它可以是 文字,也可以是 图片,能够满足开发者一切需求。 博客地址http://blog.csdn.net/u014702653/article/details/51999179

    android TextView 文字部分渐变

    在Android开发中,有时我们需要为应用的用户界面增添一些视觉上的亮点,比如让TextView中的文字部分呈现出渐变色效果。这不仅可以吸引用户的注意力,也可以使界面更具设计感。本篇文章将详细讲解如何在Android中实现...

    android shape的使用及渐变色、分割线、边框、半透明阴影

    * `&lt;corners&gt;`:用于指定圆角的半径,可以使用`android:radius`属性指定半径,或者使用`android:topLeftRadius`、`android:topRightRadius`、`android:bottomLeftRadius`、`android:bottomRightRadius`属性指定四个...

    Android控件点击变色

    在Android应用开发中,我们经常需要为用户交互的控件如按钮(Button)添加点击反馈效果,例如改变颜色。...在`AndroidDemo`这个示例项目中,可能包含了实现这一功能的代码示例,你可以通过查看源码进一步学习和理解。

    android图片文字混排,文字不同变色

    在Android开发中,实现“图片文字混排,文字不同变色”的功能,是提升用户界面交互体验的一个重要技术。这个功能通常涉及到TextView的使用、图文混排以及自定义文字颜色等技术点。以下是对这些知识点的详细解释: 1...

    Android仿微信底部按钮滑动变色

    总结起来,Android中仿微信底部按钮滑动变色主要涉及以下几个步骤: 1. 使用ViewPager展示多个Fragment页面。 2. 实现`OnPageChangeListener`,监听滑动状态和位置。 3. 根据滑动信息调整底部导航栏图标的透明度,...

    Android点击改变按钮颜色的3种效果

    在Android开发中,改变按钮(Button)的颜色是常见的交互设计需求,可以提升用户操作的反馈感知。以下将详细讲解三种实现Android按钮点击后颜色变化的方法。 1. 使用selector资源(Drawable Selector) Android提供...

    按下后变色的按钮

    以上就是通过Shape和Selector在Android中实现“按下后变色的按钮”的全过程。这个技术可以应用于各种自定义UI组件,为用户提供更加直观和生动的界面。通过熟练掌握这些基础知识,开发者能够创造出更加吸引人的移动...

    pb按钮变色效果

    通过学习和理解这些代码,开发者可以轻松地将这种变色效果应用到自己的项目中,以提升用户体验。 总的来说,"pb按钮变色效果"是一种增强用户界面互动性和视觉吸引力的实用技巧,它利用前端技术实现了按钮状态与颜色...

    画面切换按钮背景变色.emtp

    画面切换按钮背景变色,当画面切换按钮选择当前页画面,按钮背景变色锁定,提示在当前页面,其他页面按钮颜色为灰色,当前页按钮为高亮色

    Android中button点击后字体的变色效果

    在Android开发中,按钮(Button)是用户界面中不可或缺的元素,它通常用于接收用户的点击交互。...这一过程涉及到了Android的资源管理、状态列表选择器以及UI交互的可视化反馈设计,是Android开发中常见的技巧之一。

    Android 点击ListView 或GridView 的一个item 使其里面textview变色

    Android 点击ListView 或GridView 的一个item 使其里面textview变色 详情可访问博客地址:http: blog csdn net gaolei1201 article details 39084159

    android 自定义各种风格button

    android:text="自定义文字样式按钮" android:textSize="18sp" android:textColor="#FFFFFF" android:textAlignment="center" android:paddingLeft="10dp" android:paddingRight="10dp" android:background="@...

    Android Button按钮点击背景和文字变化操作

    Android 原生的按钮点击状态是有变化的,但是如果是自己加了一个.png格式的图片为背景色,按钮点击就不会有任何效果,为了达到点击按钮有一闪的效果,我们就需要准备两张图进行切换, 而且文字也要变色,老规矩废话...

    按钮慢慢变色.rar

    "按钮慢慢变色"这一主题涉及到的是交互设计中的渐变动画效果,通常用于按钮的激活、悬停或者状态改变时,为用户提供视觉反馈。这种效果可以增强用户对操作的认知,使得用户界面更加生动且易于理解。 在Web开发中,...

    js 特效 html 特效 按钮慢慢变色

    js 特效 html 特效 按钮慢慢变色

    简单的鼠标移上去文字变色

    `简单的鼠标移上去文字变色简单的鼠标移上去文字变色简单的鼠标移上去文字变色简单的鼠标移上去文字变色简单的鼠标移上去文字变色简单的鼠标移上去文字变色简单的鼠标移上去文字变色简单的鼠标移上去文字变色简单的...

    自绘按钮(渐变色效果)

    在编程领域,自绘按钮是一种常见的用户界面(UI)定制技术。通过自绘,开发者可以创建具有独特视觉效果和交互体验的控件,比如本文提到的“自绘按钮(渐变色效果)”。这种技术主要应用于图形用户界面的开发,如...

Global site tag (gtag.js) - Google Analytics