我想在 android 中使用 ViewStub,所以请帮助我。我已经创建了
ViewStub stub = new ViewStub;
View inflated = stub.inflate();
如何以编程方式使用它?
最佳答案
喜欢 documentation说,ViewStub
是一个惰性膨胀的 View
。
您可以像这样在 XML 文件中声明 ViewStub
:
<ViewStub android:id="@+id/stub"
android:inflatedId="@+id/subTree"
android:layout="@layout/mySubTree"
android:layout_width="120dip"
android:layout_height="40dip" />
android:layout
属性是对 View
的引用,该引用将在调用 inflate()
后膨胀。所以
ViewStub stub = (ViewStub) findViewById(R.id.stub);
View inflated = stub.inflate();
当调用 inflate()
方法时,ViewStub
会从其父级中移除并替换为正确的 View
( Root View ) mySubTree
布局)。
如果您想以编程方式执行此操作,那么您的代码应该类似于:
ViewStub stub = new ViewStub(this);
stub.setLayoutResource(R.layout.mySubTree);
stub.inflate();
关于android - 如何在android中使用View Stub,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11577777/