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也会被清除。