AndroidAPI<29上获取自定义视图的StateListDrawable状态图形
创始人
2024-10-06 08:01:29
0

在 Android API<29 中,通过以下方式来为自定义视图获取StateListDrawable状态图形:

  1. 在res/drawable文件夹中创建一个.xml文件,用于描述状态图形的不同状态的图像,例如:

    
    
    

其中,customView_pressed、customView_focused和customView_default是自定义视图在不同状态下的图片。

  1. 在自定义视图的构造函数中,使用以下代码片段设置StateListDrawable:
Drawable state1 = context.getResources().getDrawable(R.drawable.customView_state_list);
addState(new int[] { android.R.attr.state_pressed }, state1);

Drawable state2 = context.getResources().getDrawable(R.drawable.customView_state_list);
addState(new int[] { android.R.attr.state_focused }, state2);

Drawable state3 = context.getResources().getDrawable(R.drawable.customView_state_list);
addState(new int[] {}, state3);

在代码片段中,context是自定义视图的上下文,而customView_state_list是前面创建的.xml文件的名称。

  1. 最后,在自定义视图的onDraw()方法中,使用以下代码来绘制当前状态下的图像:
int[] stateSet = getDrawableState();
Drawable drawable = getStateDrawable(stateSet);
drawable.draw(canvas);

在代码中,getDrawableState()方法返回当前自定义视图的状态数组,getStateDrawable()方法返回与当前状态匹配的状态图形。最后,使用Canvas对象的draw()方法将图形绘制到自定义视图上。

相关内容

热门资讯

第2分钟透视!微乐河南小程序辅... 第2分钟透视!微乐河南小程序辅助器免费,四川熊猫辅助软件下载(透视免费开挂辅助插件);亲,微乐河南小...
一分钟辅助!哈灵脚本辅助,潮汕... 【福星临门,好运相随】;一分钟辅助!哈灵脚本辅助,潮汕潮汕娱脚本(透视安卓版开挂辅助下载);暗藏猫腻...
2分钟辅助!潮汕掌上娱破解器,... 2分钟辅助!潮汕掌上娱破解器,欢乐情怀辅助器(一分钟教会你开挂辅助软件)>>您好:软件加136704...
九分钟辅助!心悦辅助,手机透视... 九分钟辅助!心悦辅助,手机透视辅助器app(透视app开挂辅助下载);亲真的是有正版授权,小编(透视...
第8分钟开挂!哈狗辅助,福建天... 第8分钟开挂!哈狗辅助,福建天天开心技巧(透视数据开挂辅助神器);无需打开直接搜索薇:1367043...
两分钟辅助!云扑克有透视吗,w... 两分钟辅助!云扑克有透视吗,wepoker专用辅助(透视工具开挂辅助工具);1、点击下载安装,wep...
第九分钟透视!大玩家软件辅助,... 大玩家软件辅助开挂教程视频分享装挂详细步骤在当今的网络游戏中,大玩家软件辅助作为一种经典的娱乐方式,...
8分钟辅助!wejoker透视... 8分钟辅助!wejoker透视方法,钱塘十三水有透视功能吗(透视有挂开挂辅助脚本);钱塘十三水有透视...
五分钟透视!随意玩房卡辅助,边... 五分钟透视!随意玩房卡辅助,边锋老友辅助(透视中牌率开挂辅助软件) 了解更多开挂安装加(136704...
第2分钟辅助!德普之星辅助器怎... 第2分钟辅助!德普之星辅助器怎么用,阿拉斗牌辅助(透视中牌率开挂辅助插件);亲真的是有正版授权,小编...