addView后视图不可见

时间:2016-12-28 12:54:49

标签: android android-layout view layout-inflater

这是动态创建的视图:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:id="@+id/linearlayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:background="@color/colorPrimary"
        android:minHeight="50dp">
    </LinearLayout>
</ScrollView>

我向上面的LinearLayout添加了视图,代码类似于以下代码:

 View view = inflater.inflate(R.layout.somelayout, rootView, false);
 AppCompatTextView textView = (AppCompatTextView) view.findViewById(R.id.text);
 textView.setText("Text");
 AppCompatTextView textView2 = (AppCompatTextView) view.findViewById(R.id.text2);
 textView2.setText("Text");
 view.setLayoutParams(vp);
 rootView.addView(view);

vp如下:

LinearLayout.LayoutParams vp =
    new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
        LinearLayout.LayoutParams.WRAP_CONTENT);

在某些情况下,视图会被添加但不可见。即使我可以滚动布局。容器布局的初始状态是不可见的。我添加了视图,然后在单击选项卡时将可见性设置为VISIBLE。当我改变方向时,它们变得可见。当它们不可见时,我检查了层次结构查看器并看到子视图测量值为0.我调用requestlayout并且也无效,但不起作用。我如何强制衡量儿童观点?

0 个答案:

没有答案