Android开发笔记

这篇博客分享了Android开发中的两个实用技巧:一是如何正确获取系统预定义的内部ID,如inputExtractEditText,强调不应直接引用隐藏常量,而应使用getResources().getIdentifier()方法;二是介绍了如何允许ViewGroup进行重绘,可以通过调用setWillNotDraw(false)或设置背景色来启用onDraw函数的调用,以满足自定义绘制的需求。
摘要由CSDN通过智能技术生成

1、如何获取系统预定义的内部ID

系统预定义的隐藏常量是不可以直接进行访问的,比如在进行Android输入法开发时,全屏模式下输入法的Extracted Text View里必须包含一个id值为com.android.internal.R.id.inputExtractEditText 的ExtractedEditText控件,要为控件设置这个id值就必须要先读取它,但是我们不可以直接在源代码中输入包名来访问这个inputExtractEditText值。

正确的访问这个值的方法是:getResources().getIdentifier("inputExtractEditText", "id", "android")


2、如何允许ViewGroup进行重绘

ViewGroup是一个容器,默认情况下容器本身是不需要进行重绘的,所以ViewGroup的onDraw函数是不被调用的以便提高效率。ViewGroup内部使用一个flag来控制是否调用onDraw函数。许多情况下我们需要对其进行绘制,当我们重写了onDraw函数时,有两种方法可以使onDraw函数被调用:

1)调用setWillNotDraw(false) 函数清除flag。

2)为其设置一个背景色,flag也会被清除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值