LayoutInflater.Factory的夜间模式
2024-10-14 15:54:43
自定义实现个Factory,可以用来解析自定义的属性。
public interface Factory {
/**
* Hook you can supply that is called when inflating from a LayoutInflater.
* You can use this to customize the tag names available in your XML
* layout files.
*
* <p>
* Note that it is good practice to prefix these custom names with your
* package (i.e., com.coolcompany.apps) to avoid conflicts with system
* names.
*
* @param name Tag name to be inflated.
* @param context The context the view is being created in.
* @param attrs Inflation attributes as specified in XML file.
*
* @return View Newly created view. Return null for the default
* behavior.如果返回一个view, 那么就会直接加入到原有View树中去。 如果返回null,则会走原来类似于onCreate的方法。
*/
public View onCreateView(String name, Context context, AttributeSet attrs);
}
LayoutInflater.Factory这个值设置到LayoutInflater中,而LayoutInflater的获得又是跟谁Context而来的。也就是说相同的Context有着相同的LayoutInflater,那就可以重用相同的LayoutInflater.factory
在BaseActivity中加入自己的Factory
mLayoutMode = new BDLayoutMode(); // 针对该Activity的一些存储
mLayoutInflateFactory = new BDLayoutInflateFactory(); //自定义的LayoutInflateFactory
mLayoutInflateFactory.setViewMode(mLayoutMode);
getLayoutInflater().setFactory(mLayoutInflateFactory); // 给该Activitry设置factory
这样在BDLayoutInflateFactory中就可以自定义解析自己关心的值了。
在BaseActivity的OnResume中开始,遍历每一个控件。
最新文章
- weex image
- switch
- 【PHP入门到精通】:Ch05:字符串处理
- 【每天一个Linux命令】14. Linux中locate命令的用法
- APK瘦身
- Java 八大类型、String和 StringBuffer
- 第2章 rsync算法原理和工作流程分析
- js error
- 自己写一个网页版的Markdown实时编辑器
- 《Oracle Applications DBA 基础》- 9 - Concurrent Processing
- css,解决文字与图片对齐的问题
- Neutron server的运行原理(未完待续)
- springMVC的配置与使用
- bzoj5358
- Java 初级软件工程师 认证考试试卷1
- Centos 7 下创建LVM流程
- 使用OpenSSL自建CA + Nginx配置HTTPS
- 【AtCoder Grand Contest 001F】Wide Swap [线段树][拓扑]
- jquery delayLoading.js插件的延迟加载效果和图片延迟加载
- 解决java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver问题