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);

    效果图:

  • 相关阅读:
    webservice 使用
    不错的下载网站。
    nvarchar 删除 tab 空格
    easyui juery 使用中发现的问题
    jquery easyui 文档资料
    easyui 合并单元格
    extjs4 中汉字显示不好看存在的问题
    微软语音提示
    一个简单的页面跳转
    导出 sqlsever 到access
  • 原文地址:https://www.cnblogs.com/guanxinjing/p/11243902.html
Copyright © 2011-2022 走看看