android – 隐藏GridLayout中的行

前端之家收集整理的这篇文章主要介绍了android – 隐藏GridLayout中的行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在一个包含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);

猜你在找的Android相关文章