- Java code
int titleId = RUtils.getResId("com.android.internal.R", "id", "title_container"); View titleView = thiz.getWindow().findViewById(titleId);
RUtils 是我写的一个工具类, 在此不给出了。
cebug的时候可以获取 titleId
但是titleView 确实空,
该代码在onCreate执行。
请问这是为啥呢?
------解决方案--------------------
mark
看了下ViewGroup 遍历时 flag应该没问题,所以怀疑在decor时没有添加到DecorView
有空跟踪下再看看
不过即使拿到这个title_container 解决了填充不满的问题,
自定义title还会有“载入activity时 屏幕先黑一下”的问题
建议还是把自定义title放到main.xml中
------解决方案--------------------
估计你是反射得到的titleId,你可以在不同手机上log输出下这个titleId
这个应该是一个固定值,是你编译的那个系统的值,但是不同手机的这个系统值 是不同的,所以你得不到
解决办法:
FrameLayout decorView = (FrameLayout) getWindow().getDecorView();
LinearLayout child = (LinearLayout) decorView.getChildAt(0);
FrameLayout titleView = child.getChildAt(0);
------解决方案--------------------