作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 RelativeLayout
View ,还有 3 个 subview 。我试图通过使用 setVisibility
将相对布局设置为 INVISIBLE 来将它们全部隐藏在代码中。有趣的是,当我使用 setVisibility(View.INIVISIBLE)
时,只有第一个 child 被隐藏,其他两个没有。所以我有点困惑 - 如果我将父 View 设置为不可见,它是否应该改变所有 subview 的可见性或让他们独自一人?
请随时将我指向解释它的引用页面 - 我找不到任何内容。
更新:我已经尝试将其设置为 View.GONE
,但同样的事情发生了,除了仍然可见的两个 child 向上移动了一点。
这是相关的 XML:
<RelativeLayout
android:id="@+id/optionsform"
android:layout_width="fill_parent"
android:padding="8dp"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/tvoptions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="@string/tvoptions"
android:textColor="#f000"
android:textAppearance="?android:attr/textAppearanceMedium" android:textStyle="bold"/>
<TextView
android:id="@+id/tvdictionary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/tvoptions"
android:layout_marginLeft="30dp"
android:layout_marginTop="16dp"
android:text="@string/dictionary"
android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#f000" />
<Spinner
android:id="@+id/dictionary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/tvdictionary"
android:layout_alignParentRight="true"
android:layout_marginTop="-10dp"
android:layout_marginLeft="6dp"
android:layout_toRightOf="@+id/tvdictionary" />
</RelativeLayout>
这是我正在使用的相关代码:
public void onClick(View v) {
//Toggle viewing of options, using "if" in case it is set to View.GONE
View view = findViewById(R.id.optionsform);
if (view.getVisibility() == View.VISIBLE)
view.setVisibility(View.INVISIBLE);
else
view.setVisibility(View.VISIBLE);
}
最佳答案
尝试将所有三个 View 设置为 View.INVISIBLE
或 View.GONE
。
或
你可以试试
public void onClick(View v) {
//Toggle viewing of options, using "if" in case it is set to View.GONE
RelativeLayout view = (RelativeLayout) findViewById(R.id.optionsform);
if (view.getVisibility() == View.VISIBLE)
view.setVisibility(View.INVISIBLE);
else
view.setVisibility(View.VISIBLE);
}
关于android - 如何一次隐藏多个 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8185643/
我是一名优秀的程序员,十分优秀!