jjzjj

Viewstub

全部标签

android - ViewStub vs View.GONE vs Inflate vs ViewSwitcher

我有一个与延迟加载View/布局性能相关的问题。有时我们想动态显示/隐藏多个View。在这种情况下,我们有四种选择:在.xml中包含所有布局并使用setVisibility方法(如View.GONE和VIEW.VISIBLE)使用ViewFlipper/ViewSwitcher使用ViewStub以编程方式扩充新布局。哪个性能最好?我一直在谷歌搜索,发现ViewStub是专门为此设计的,但我不确定。也许我错了,或者甚至还有我不知道的第五种选择。您对此有不同的看法或经验吗?谢谢! 最佳答案 这取决于您要自行膨胀的View。您提到的每种

android - 如何使用 ButterKnife 注入(inject) ViewStub?

我想将ViewStub与ButterKnife一起使用,这就是我所做的:publicclassExampleFragmentextendsFragment{@InjectView(R.id.stub)ViewStubmStub;/*ATextViewintheViewStub*/@InjectView(R.id.text)@OptionalTextViewmText;@OverridepublicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){ViewrootVie

android - ProgressBar 在膨胀 viewstub 时没有动画

我有一个具有这种结构的Activity:FrameLayoutProgressBarViewStubViewStub在单独的线程中扩充fragment。我需要的是在fragment加载时显示进度。问题是当stub膨胀时ProgressBar没有旋转(在我的例子中大约半秒:它是一个沉重的fragment)我已经尝试了所有方法:显示/隐藏View、使View无效、在ViewSwitcher中显示它们……等等,没有任何效果,一旦ViewStub膨胀,它就开始旋转,就像ui在膨胀时被卡住但在另一个线程似乎没有改善。我该怎么办? 最佳答案 f

android - ConstraintLayout中如何使用ViewStub?

似乎在ConstraintLayout中膨胀ViewStub时,生成的View已失去所有约束。我想我们可以使用ConstraintSet定义膨胀View的约束,但这种做法违背了ViewStub的目的。有什么好的方法吗? 最佳答案 有一个简单的解决方案:在您的ViewStub中,让inflatedId属性与id相同像这样: 关于android-ConstraintLayout中如何使用ViewStub?,我们在StackOverflow上找到一个类似的问题: h

Android 数据绑定(bind) - 如何使用 ViewStub 进行数据绑定(bind)

无论如何都可以将viewStubs与dataBinding一起使用吗?ViewStubProxy有帮助吗?我的stub电流看起来像这样:但是当我膨胀viewStub时,这个布局将被替换,那么ViewStubs如何与androiddataBinding一起使用?这是我从docs中看到的:ViewStubsViewStub与普通的View有点不同。他们出发不可见以及当它们可见或被明确告知时膨胀,他们通过膨胀另一个来取代自己在布局中布局。因为ViewStub基本上从View层次结构中消失了,绑定(bind)对象中的View也必须消失以允许收藏。因为View是最终的,所以ViewStubPro

Android - ViewStub 值得吗?

我有一个ListView,其中listview的每一行都包含大约10个ImageButton。这些按钮中的大多数都具有可见性=消失并且仅在非常罕见的情况下出现。我想知道是否值得将这些ImageButtons替换为ViewStubs以避免一直为ListView的所有行加载它们(以及它们包含的图像)。然后他们的可见性再次设置为“消失”,所以我不确定加载它们有什么影响。他们的图像是否真的被加载了?请注意,我说的是替换例如8个ImageButton和8个ViewStub,而不是1个干杯 最佳答案 AViewStub是dumbandlight

android - 如何 "deflate"一个 ViewStub?

所以我可以在运行时为ViewStub充气。假设我想让它消失,然后可能会根据发生的某些事件再次充气(例如,根据用户在屏幕上选择的内容充气和放气的工具栏)。我可以使用View.setVisibility(View.GONE)....还有其他方法吗?或者我在这里做错了什么?谢谢!:) 最佳答案 膨胀布局可能会很昂贵,尤其是在旧设备上。将ViewStub视为更多的延迟加载机制,用于可能会或可能不会扩展的View子树,而不是在运行时交换View层次结构部分的方法。一旦膨胀,在VISIBLE/GONE之间切换就没有问题了。GONE将使框架在昂贵

Android布局优化(2)——ViewStub使用和源码梳理

Android布局优化(2)——ViewStub使用和源码梳理问题背景本文主要讨论安卓开发layout布局文件时的部分优化手段,上一篇文章中中初步介绍了include和merge两种方式,具体可参考https://blog.51cto.com/baorant24/6057402,本文主要是介绍安卓布局优化的第三种手段,ViewStub的使用和梳理。问题分析很多同学在之前工作和学习过程中或多或少都使用过ViewStub,大都知道ViewStub是一个轻量级的视图控件,而实际开发中在合适的场景中使用,可以提高渲染速度,占用的内存更少,从而提高App的UI性能。话不多少,先梳理一波ViewStub的

Android布局优化(2)——ViewStub使用和源码梳理

Android布局优化(2)——ViewStub使用和源码梳理问题背景本文主要讨论安卓开发layout布局文件时的部分优化手段,上一篇文章中中初步介绍了include和merge两种方式,具体可参考https://blog.51cto.com/baorant24/6057402,本文主要是介绍安卓布局优化的第三种手段,ViewStub的使用和梳理。问题分析很多同学在之前工作和学习过程中或多或少都使用过ViewStub,大都知道ViewStub是一个轻量级的视图控件,而实际开发中在合适的场景中使用,可以提高渲染速度,占用的内存更少,从而提高App的UI性能。话不多少,先梳理一波ViewStub的