`
chenqiang5206
  • 浏览: 33283 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类

初学Android,使用Drawable资源之使用StateListDrawable资源(十三) .

阅读更多

StateListDrawable用于组织多个Drawable对象,顾名思义,StateList,它会随着目标组件状态(比如得到/失去焦点,勾选/未勾选,可用/不可用,按下/未按下,等等)的改变而自动切换

StateListDrawable对象的XML文件的根元素是<selector.../>,可包含多个<item.../>元素

下面是一个高亮显示正在输入的文本框的例子

创建一个普通Android xml文件,根元素选择selector,文件名为my_image,创建完以后把文件移动到res/drawable-mdpi文件夹下

 

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android">  
  3.     <item android:state_focused = "true"  
  4.           android:color = "#f44"   
  5.     />  
  6.     <item android:state_focused = "false"  
  7.           android:color = "#111"   
  8.     />  
  9. </selector>  
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused = "true"
          android:color = "#f44" 
    />
    <item android:state_focused = "false"
          android:color = "#111" 
    />
</selector>

下面的主界面xml中引用上面定义的样式

 

 

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.   
  7.     <EditText  
  8.         android:id="@+id/editText1"  
  9.         android:layout_width="fill_parent"  
  10.         android:layout_height="wrap_content"  
  11.         android:textColor="@drawable/my_image"  
  12.         android:ems="10"  />  
  13.   
  14.   
  15.     <EditText  
  16.         android:id="@+id/editText2"  
  17.         android:layout_width="fill_parent"  
  18.         android:layout_height="wrap_content"  
  19.         android:textColor="@drawable/my_image"  
  20.         android:ems="10" />  
  21.   
  22. </LinearLayout>  
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textColor="@drawable/my_image"
        android:ems="10"  />


    <EditText
        android:id="@+id/editText2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textColor="@drawable/my_image"
        android:ems="10" />

</LinearLayout>


效果如下,当焦点在文本框时,文字变为高亮显示

 


分享到:
评论

相关推荐

    Android所有系统资源图标android.R.drawable.xxx查看软件

    Android所有系统资源图标android.R.drawable.xxx查看软件 源码地址:http://blog.csdn.net/dianyueneo/article/details/7197067

    android资源图片浏览,系统图片,android.R.drawable浏览,查看系统图片,查看android自带图片

    3. **使用第三方工具**:有些第三方工具,如Android Asset Studio或APK反编译工具,可以帮助开发者直观地浏览和搜索`android.R.drawable`中的资源。 了解`android.R.drawable`中的图片资源对于优化应用的UI设计和...

    android.R.drawable图标查看软件

    Android系统图标android.R.drawable下的所有图标查看软件

    Android中Drawable分类汇总

    在Android SDK中,开发者通常不需要直接操作Drawable的底层实现类,而是通过XML文件来定义和使用Drawable资源,通过资源ID来引用它们。 Android内置了多种类型的Drawable资源,主要包括以下几类: 1. Color...

    android安卓APP之13种Drawable位图片资源.zip_android客户端是什么

    本资源包“android安卓APP之13种Drawable位图片资源.zip”涵盖了Android开发中常见的13种Drawable类型,这些类型极大地丰富了Android应用的视觉表现和动态效果。下面将详细介绍每种Drawable的特性和用法。 1. **...

    android 通过图片名称获取 drawable 目录下的图片

    4. **安全性**:在实际项目中,如果需要频繁加载不同图片资源,考虑使用更高效的加载方式,例如使用`Glide`、`Picasso`等第三方库进行图片加载管理。 5. **兼容性**:在使用反射操作时需要注意Android版本间的兼容...

    android:drawable.xml相关应用

    在Android开发中,`drawable.xml` 文件是用于定义UI元素的重要资源之一,它可以为应用提供灵活多变的视觉效果。例如,按钮、列表项等控件的状态变化时所显示的不同图像或颜色。下面我们将通过一个具体的示例来详细...

    android修改控件外观(使用drawable资源)

    在Android开发中,drawable资源是不可或缺的一部分,它主要用于定义图形、形状、背景等视觉元素,还可以用来改变控件的外观。本篇文章将深入探讨如何利用drawable资源来改变Android应用中的控件外观。 首先,...

    android drawable

    这个示例项目"android drawable"旨在展示如何在Android应用中有效地使用和显示`Drawable`资源。 `Drawable`在Android中扮演着多种角色,包括但不限于图片、背景、按钮状态、选择器等。它们可以通过XML或Java代码...

    android_Drawable、Bitmap、byte[]之间的转换.doc

    这里的`R.drawable.pic`是指向资源文件夹中的图像资源的引用。`decodeResource`方法会根据指定的资源ID来解码并返回一个`Bitmap`对象。 #### 3. Bitmap转byte[] 在将`Bitmap`数据在网络上传输或存储到文件中时,...

    玩转Android之Drawable的使用

    【玩转Android之Drawable的使用】 Drawable在Android开发中扮演着至关重要的角色,它是图形和图像的基础元素,广泛用于UI设计和自定义视图。在Android中,Drawable不仅仅局限于简单的图片,还包括各种复杂的图形和...

    android开发示例

    importandroid.graphics.drawable.StateListDrawable; importandroid.os.Bundle; importandroid.view.View; importandroid.widget.Button; public class TestButton extends Activity { @Override public ...

    android中的drawable集合

    在Android开发中,Drawable是图形和图像处理的重要组成部分,它是一种可以绘制到Canvas上的对象,广泛用于界面元素的装饰和状态表示。以下是对Android中drawable集合的详细解释: 1. **Bitmap Drawable**: Bitmap ...

    Android自定义Drawable的代码例子

    创建自定义Drawable的Java代码通常会扩展`Drawable`类或它的子类,如`StateListDrawable`、`LevelListDrawable`等。然后,重写必要的方法,如`draw()`、`onBoundsChange()`和`getIntrinsicWidth()`等。同时,为了与...

    Android 将网络的Url资源转换为Drawable资源方式

    1. 使用 `Drawable.createFromStream()` 方法 该方法可以将Url资源转换为Drawable资源。我们可以使用以下代码实现: ```java private Drawable loadImageFromNetwork(String imageUrl) { Drawable drawable = ...

    安卓换肤主题更换夜间模式相关-android修改控件外观使用drawable资源.rar

    android修改控件外观(使用drawable资源.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    Android Drawable 全部 xml 元素和属性用法

    在Android开发中,Drawable是图形资源的核心组成部分,用于表示各种屏幕元素的外观,如按钮、背景、图标的形状和颜色。这些图形资源可以通过XML文件进行定义,提供了丰富的自定义选项。本篇将深入探讨Android ...

    Android的Drawable学习Demo

    LevelListDrawable levelListDrawable = (LevelListDrawable) getResources().getDrawable(R.drawable.my_level_list); levelListDrawable.setLevel(1); // 切换到第二个Shape ``` 此外,我们还可以通过...

    Android Drawable 各种高效用法

    在Android开发中,Drawable是图形资源的核心组成部分,用于在用户界面上绘制各种图像,如按钮、背景、图标等。理解并熟练运用Drawable的各种高效用法对于优化应用性能和提升用户体验至关重要。以下是一些关于Android...

    android drawable下的xml详解

    在使用`drawable`资源时,需要注意的一点是,默认情况下`drawable`资源在应用内部是共享的。这意味着如果多个组件引用同一个`drawable`资源,那么对其中一个组件中的该资源进行修改,会影响到其他所有引用此资源的...

Global site tag (gtag.js) - Google Analytics