标签: viewstub

如何在android中使用View Stub

我想在android中使用ViewStub,所以请帮帮我.我创造了

ViewStub stub = new ViewStub;
View inflated = stub.inflate(); 
Run Code Online (Sandbox Code Playgroud)

如何以编程方式使用它?

android viewstub

56
推荐指数
3
解决办法
6万
查看次数

如何"缩小"ViewStub?

所以我可以在运行时给ViewStub充气.假设我想让它消失,然后根据发生的某些事件再次膨胀(例如,根据用户在屏幕上选择的内容进行膨胀和放气的工具栏).

我可以使用View.setVisibility(View.GONE)....还有其他方法吗?

或者我在这里做错了什么?

谢谢!:)

android deflate inflate viewstub

24
推荐指数
1
解决办法
1万
查看次数

android中<include>和<ViewStub>的区别

<\ include>标记和<\ ViewStub>标记之间有什么区别,在设计布局时哪一个是可取的.

谢谢,
venu

android include viewstub

19
推荐指数
3
解决办法
6293
查看次数

Android - ViewStub值得吗?

我有一个ListView,其中listview的每一行包含大约10个ImageButtons.这些按钮中的大多数都具有visibility = Gone,并且仅在极少数情况下出现.我想知道是否值得用ViewStubs替换这些ImageButton以避免一直为listview的所有行加载它们(以及它们包含的图像).然后他们的可见性再次设置为"Gone",所以我不确定加载它们有什么影响.他们的图像真的被加载了吗?

请注意,我所说的是将8个ImageButtons替换为8个ViewStub,而不是1个

干杯

performance android viewstub

16
推荐指数
2
解决办法
4612
查看次数

ViewStub与View.GONE

据我所知,参与度量和布局ViewStub的视图和视图都不会GONE传递(或者无论如何渲染).

渲染性能有差异吗?什么时候使用哪种最佳做法?

performance android visibility viewstub

14
推荐指数
1
解决办法
2776
查看次数

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

无论如何使用viewStubs与dataBinding?可以ViewStubProxy帮忙吗?

我的存根当前看起来像这样:

    <ViewStub
  android:id="@+id/stub_import"
  android:inflatedId="@+id/panel_import"

  android:layout="@layout/progress_overlay"

  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:layout_gravity="@{myobject.bottom ? bottom:top}" />
Run Code Online (Sandbox Code Playgroud)

但是当我给viewStub充气时,这个布局会被取代,所以ViewStubs如何与android dataBinding一起使用?

这是我从文档中看到的:

ViewStubs

ViewStubs与普通视图略有不同.它们开始是不可见的,当它们要么被显示或被明确告知要膨胀时,它们会通过膨胀另一个布局来替换它们.

由于ViewStub基本上从View层次结构中消失,因此绑定对象中的View也必须消失以允许收集.由于视图是最终的,因此ViewStubProxy对象取代了ViewStub,使开发人员在ViewStub存在时可以访问ViewStub,并且在ViewStub膨胀时也可以访问膨胀的View层次结构.

在膨胀另一个布局时,必须为新布局建立绑定.因此,ViewStubProxy必须侦听ViewStub的ViewStub.OnInflateListener并在那时建立绑定.由于只有一个可以存在,ViewStubProxy允许开发人员在其上设置一个OnInflateListener,它将在建立绑定后调用它.

data-binding android viewstub

14
推荐指数
2
解决办法
5640
查看次数

RelativeLayout和ViewStub通胀

我有以下布局.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@style/list_item_bottom">

    <TextView android:id="@+id/list_item_name"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"/>

    <ViewStub android:id="@+id/stub_for_alt_name"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:layout_below="@+id/list_item_name"
              android:layout="@layout/text_view_alt_name"/>

    <ImageView android:id="@+id/list_item_dopinfo1_image"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_below="@+id/stub_for_alt_name"
               android:src="@drawable/ic_released"/>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我希望ViewStub低于TextView,ImageView低于ViewStub.

ViewStub膨胀的元素按照我的预期显示.但没有ViewStub的元素将TextView与ImageView重叠.

我的布局出了什么问题?

更新:

我发现的唯一解决方案是为ViewStub和相关的TextView提供相同的android:id值.

android inflate viewstub android-relativelayout

12
推荐指数
2
解决办法
4519
查看次数

如何检查viewStub是否已经膨胀?

我没有找到任何布尔方法执行此任务.我可以通过检查更改为指定id的那个viewStub来完成inflatedid吗?

Javacode:

    protected void plantViewTree() {
    // TODO Auto-generated method stub

        ViewStub mViewstub = (ViewStub) findViewById(R.id.viewStub00);

            if (mViewStub is inflated) {
              //do somthing
              }else
               mViewstub.inflate();

}
Run Code Online (Sandbox Code Playgroud)

更新 关于eOutput的评论

根据此代码,toast始终显示其消息,这意味着mViewStub分配给findViewById它的消息永远不会为null,除了viewstub底层alyout中的视图不可用.有什么建议.?

protected void plantViewTree() {
    // TODO Auto-generated method stub
    ViewStub mViewstub = (ViewStub) findViewById(R.id.viewStub00);
    if (mViewstub != null)
        Toast.makeText(getApplicationContext(), "view is inflated", 
Toast.LENGTH_LONG).show();
    else
        mViewstub.inflate();
}
Run Code Online (Sandbox Code Playgroud)

android view viewstub

11
推荐指数
2
解决办法
8293
查看次数

如何正确使用ViewStub的Kotlin Android扩展?

扩展是否具有调用膨胀视图的魔力?据我所知,我应该打破代码和呼叫的和谐findViewById

目的是layout_ongoingView在某个时候使布局膨胀,并根据场景再次隐藏和显示

<ViewStub
    android:id="@+id/viewStubOngoing"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inflatedId="@+id/ongoingView"
    android:layout="@layout/layout_ongoingView" />
Run Code Online (Sandbox Code Playgroud)

和代码

override fun hideOngoingPanel() {
    if (viewStubOngoing !is ViewStub) {
        findViewById(R.id.ongoingView).visibility = View.GONE
    }
}

override fun showOngoingPanel() {
    if (viewStubOngoing !is ViewStub) {
        findViewById(R.id.ongoingView).visibility = View.VISIBLE
    } else {
        viewStubOngoing.inflate()
    }
}
Run Code Online (Sandbox Code Playgroud)

android viewstub kotlin-android-extensions

8
推荐指数
0
解决办法
559
查看次数

如何在ConstraintLayout中使用ViewStub?

似乎在a ViewStub中膨胀时ConstraintLayout,结果视图已经失去了所有约束.我想我们可以使用膨胀视图来定义约束ConstraintSet,但这种方法会失败ViewStub.

有没有办法做到这一点?

android viewstub android-constraintlayout

8
推荐指数
1
解决办法
1747
查看次数