ViewStub

2023-10-09 19:44
文章标签 viewstub

本文主要是介绍ViewStub,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.作用

1.性能优化:

用到的时候再去加载,不调用加载的话,不会显示

2.使用

1.xml

其中hecate_listview2x为里面加载的布局

<ViewStubandroid:id="@+id/hecate1_recycler_vs"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout="@layout/hecate_listview2x"/>

2.Java代码

  1. 一定要先设置加载监听setOnInflateListener,再调用加载inflate(),不然会报错
class MainActivity : ComponentActivity() {private lateinit var mainBinding: ActivityMainBindingprivate lateinit var hecateListview2xBinding: HecateListview2xBindingoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)mainBinding= ActivityMainBinding.inflate(layoutInflater)setContentView(mainBinding.root)//viewStub加载布局的监听方法mainBinding.hecate1RecyclerVs.setOnInflateListener { viewStub, view ->hecateListview2xBinding= HecateListview2xBinding.bind(view)//viewbinding绑定viewStub里面的布局}//viewStub加载mainBinding.hecate3RecyclerVs.inflate()//对viewStub加载布局里面的view方法的调用hecateListview2xBinding.textView.setOnClickListener {Toast.makeText(this,"我是textView",Toast.LENGTH_SHORT).show() }}}

3.总结

在这里插入图片描述

4.遇到的问题

1.一定要先设置加载监听setOnInflateListener,再调用加载inflate(),不然会报错

2.

3.

4.

5.

6.

这篇关于ViewStub的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/175133

相关文章

Android按需加载视图之ViewStub

ViewStub使用场景 在开发项目中经常碰到一些在指定条件下才需要加载的layout,比如网络异常页面.你可以仅在需要的时候载入它们,提高 UI 渲染速度。这时就可以使用ViewStub !!!ViewStub使用方法 ViewStub 通过设置 android:layout 属性来指定需要被 inflate 的 Layout 类型。 xml中: <ViewStub

深入了解 Android 中的 ViewStub

在 Android 开发中,性能优化一直是一个重要的话题。ViewStub 作为一种轻量级视图容器,可以帮助我们在合适的时机延迟加载视图,从而优化应用性能。本文将详细介绍 ViewStub 的概念、使用方法以及在实际开发中的应用场景。 什么是 ViewStub? ViewStub 是一个轻量级的不可见视图,它可以延迟加载布局资源。ViewStub 默认是不可见的,占用的内存和 CPU 资源

Android ViewStub的用法

大家写项目的时候肯定会有一些东西提前写好,但是不到一定条件是不想让它显示出来的,我们可能的做法就是让它View.GONE 或View.INVISIBLE等到一定条件了在代码里面这设置View.VISIBLE 虽然这样写起来也挺方便的,也符合逻辑,但是这个条件是八百年都不出一次,你这么写就有点大才小用了,因为你事先布局好的Inflate,也就是说也就是说仍然会创建对象,会被实例化,会被设置属性。也就

Android抽象布局——include、merge 、ViewStub的区别

在布局优化中,Androi的官方提到了这三种布局<include />、<merge />、<ViewStub />,并介绍了这三种布局各有的优势,下面也是简单说一下他们的优势,以及怎么使用,记下来权当做笔记。 1、布局重用<include /> <include />标签能够重用布局文件,简单的使用如下: [html]  view plain copy pr

FrameLayou和UI的布局优化(merge、include、ViewStub)

FrameLayout 先来看官方文档的定义:FrameLayout是最简单的一个布局对象。它被定制为你屏幕上的一个空白备用区域,之后你可以在其中填充一个单一对象 — 比如,一张你要发布的图片。所有的子元素将会固定在屏幕的左上角;你不能为FrameLayout中的一个子元素指定一个位置。后一个子元素将会直接在前一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个子元素是透明的)。 我的理

ViewStub的实现

一个例子 点击按钮前 点击按钮后 UI布局文件 activity_main.xml <?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"and

用ViewStub及SharePreferecesUtlils实现首次登录出现提示消息

很多应用程序在用户第一次进入应用时会给出一些提示信息,提示用户该软件各个组件的功能及用法,这里就以一个简单的例子来记录一下。 首先来看SharePreferecesUtlils,直接看代码及注释 public class SharePreferecesUtlils_isFirst {/*** 保存在手机里面的文件名*/private static final String FILE_

Android开发--ViewStub惰性装载空间介绍

一、ViewStub控件出现的原因 大家应该了解过<include>标签,该标签可以在布局文件中引用另外一个布局文件,并可以覆盖被引用布局文件的相关属性,也就是以android:layout开头的属性。用这个标签可以将一个非常庞大的布局文件分解成若干个较小的布局文件,而且这些小的布局文件可以被多次引用,从而达到一个重用的目的。 按道理没有什么问题,但实则存在一个问题就是布局文件中的孔家并不一定

include、ViewStub、merge优化布局标签

前言 在写Android的xml布局时,用好 include、ViewStub、merge这三个标签,可以是我们的xml更加简洁、高效。 include 按照官方的意思,include就是为了解决重复定义相同布局的问题。 相当于Java代码中将相同的部分抽取出来,然后复用,需要的时候引入它即可,而不必每次都自己写一遍。 举例说明: 一个公共布局文件 my_layout.xml(这个布局后面例子