【发布时间】:2014-07-08 14:43:56
【问题描述】:
我在一个包含 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;
}
【问题讨论】:
-
您可以删除这两个项目,例如如果在第二行中有两个项目,则将它们从列表中删除并再次填充数据。它将解决您的问题,如果您不想丢失这些数据,请将它们放在另一个列表中并随时获取。
标签: android grid-layout