我在一个包含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;
- }
解决方法
如果将“View.GONE”替换为“View.INVISIBLE”,则行中的视图将不会被看到(不可见),但它们仍将被测量,并且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);