• 2024-08-27Android开发 - LayoutInflater 类将 XML 布局文件转换成对应的 View 对象解析
    LayoutInflater是什么LayoutInflater用于将XML布局文件转换成对应的View对象。它可以理解为一个“布局解析器”,帮助我们将静态的XML文件转换为可以动态操作的Java对象(View及其子类)LayoutInflater的主要作用在Android开发中,我们通常会在res/layout文件夹中
  • 2024-08-05不销毁activity实现白天黑夜主题切换
    Androidactivity加载布局文件流程一.onCreate初始化AppCompatActivity.onCreate先调用getDelegate()创建AppCompatDelegateImplN(最终继承AppCompatDelegateImplV9->AppCompatDelegateImplBase)对象delegate,然后调用delegate.installViewFactory()AppCompatDelegateImplV
  • 2024-06-02布局解析LayoutInflater分析
    布局解析-LayoutInflater分析一般添加布局或控件有两种方式,一种是直接new对应的View,然后通过addView方法添加到父控件中,一种是将布局写在layout的xml文件中,然后调用调用接口添加到父控件中,而这里就涉及到将xml布局转为View控件,一般都是使用LayoutInflater的inflate方法来讲布局xm
  • 2023-09-19【MyAndroid】轮播图和指示器
    轮播图ImageViewiv1=(ImageView)LayoutInflater.from(this).inflate(R.layout.banner_item,bannerViewPager,false);ImageViewiv2=(ImageView)LayoutInflater.from(this).inflate(R.layout.banner_item,bannerViewPager,false);ImageViewiv3=(Image
  • 2023-06-22Android视图加载优化——Factory2设置方法
    前言Factory2是直接继承于Factory,继续跟踪下Factory的源码,比Factory的功能更加强大。当我们新建Activity的时候,大部分情况是继承AppCompatActivity。提供了向后兼容性。本文将深入探索AppCompatActivity的视图加载,探索将xml布局文件中的TextView替换成AppCompatTextVi
  • 2023-04-16Android深入学习之LayoutInflater类和ViewBinding
    在build.gradle(Module)中添加viewBinding元素后,Android会自动给模块中的每个XML布局文件生成一个相应的Binding类,该Binding类名称为XML布局文件驼峰式大写+Binding后缀。以如下所示的activity_welcome.xml文件为例,对应的ActivityWelcomeBinding.java的源代码如下所示。<?xmlv
  • 2022-11-17Caused by: android.view.InflateException: Binary XML file line #2 in com.example.materialtest:layout
    在学习《Android第一行代码》的14.5章节深色主题的内容时,该章节是以MaterialTest项目作为示例的,并且在res目录下创建了一个values-29目录,在values-29目录下又创建了一个sty
  • 2022-10-10LayoutInflater用法
    在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是