zoukankan      html  css  js  c++  java
  • Android开发 StateListDrawable详解

    前言

      StateListDrawable是与xml中的selector属性对应代码实现类,它需要配合GradientDrawable的使用,如果你还不了解GradientDrawable可以参考我的另一篇博客:https://www.cnblogs.com/guanxinjing/p/11142599.html

    配置对照表

    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"]   状态栏聚焦状态

    点击效果demo

            GradientDrawable drawableRed = new GradientDrawable();
            drawableRed.setShape(GradientDrawable.RECTANGLE);
            drawableRed.setColor(Color.RED);
    
            GradientDrawable drawableBlue = new GradientDrawable();
            drawableBlue.setShape(GradientDrawable.RECTANGLE);
            drawableBlue.setColor(Color.BLUE);
    
            int pressed =  android.R.attr.state_pressed;
            StateListDrawable stateListDrawable = new StateListDrawable();
            stateListDrawable.addState(new int[]{pressed}, drawableRed);
            stateListDrawable.addState(new int[]{-pressed}, drawableBlue);
            btn1.setBackground(stateListDrawable);

    效果图:

  • 相关阅读:
    libiconv2.dll
    windows下安装,配置gcc编译器
    STM32之DMA
    keilkill.bat
    STM32之系统滴答定时器
    STM32库函数开发使用总结
    STM32之串口通信
    yocto系统介绍
    fork子进程僵尸问题及解决方案
    shell实现的守护进程
  • 原文地址:https://www.cnblogs.com/guanxinjing/p/11243902.html
Copyright © 2011-2022 走看看