我在一个包含3列和2行的xml文件中创建了一个GridLayout。 如何通过代码隐藏第二行?
我尝试为该行内的视图设置可见性,但第一列似乎尽可能地扩展。
<GridLayout
android:id="@+id/lytInfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:alignmentMode="alignBounds"
android:columnCount="3"
android:columnOrderPreserved="false"
android:paddingTop="@dimen/padding.verySmall" >
<TextView android:id="@+id/tvNameLabel"
android:ellipsize="end"
android:maxLines="1"
android:singleLine="true"
android:text="@string/name"
android:textColor="@color/black"
android:textSize="@dimen/text.normal" />
<Space android:layout_width="@dimen/padding.veryVerySmall" android:id="@+id/tvNameSpace"/>
<TextView
android:id="@+id/tvName"
android:ellipsize="end"
android:maxLines="1"
android:singleLine="true"
android:textColor="@color/darkRed"
android:textSize="@dimen/text.normal"
android:textStyle="bold" />
<TextView
android:ellipsize="end"
android:maxLines="1"
android:singleLine="true"
android:text="@string/pwd"
android:textColor="@color/black"
android:textSize="@dimen/text.normal" />
<Space android:layout_width="@dimen/padding.veryVerySmall" />
<TextView
android:id="@+id/tvPwd"
android:ellipsize="end"
android:maxLines="1"
android:singleLine="true"
android:textColor="@color/darkRed"
android:textSize="@dimen/text.normal"
android:textStyle="bold" />
</GridLayout>
这是我隐藏视图的时间:
f(knownName)
{
viewRoot.findViewById(R.id.tvName).setVisibility(View.GONE);
viewRoot.findViewById(R.id.tvNameSpace).setVisibility(View.GONE);
viewRoot.findViewById(R.id.tvNameLabel).setVisibility(View.GONE);
break;
}
答案 0 :(得分:0)
如果您更换&#34; View.GONE&#34;使用&#34; View.INVISIBLE&#34;,行中的视图将不会被看到(不可见),但它们仍将被测量,并且GridLayout将表现得像它们仍然存在一样。使用GONE导致它们测量为零,并且GridLayout折叠第1行。
findViewById(R.id.tvName).setVisibility(View.INVISIBLE);
findViewById(R.id.tvNameSpace).setVisibility(View.INVISIBLE);
findViewById(R.id.tvNameLabel).setVisibility(View.INVISIBLE);