我有一个父RelativeLayout,其中包含其他视图和其他相对布局。当我尝试使其中一个RelativeLayouts具有GONE
可见性时,它就不会消失。对此有何解决方案?我将发布我想要的布局GONE
。
<RelativeLayout android:id="@+id/relativeLayerA"
android:layout_width="315px"
android:layout_height="35px"
android:background="@drawable/bgnavyblue_abcd"
android:layout_below="@id/relativeConfig1"
android:layout_toRightOf="@id/relativeRecipe"
android:layout_marginLeft="15px"
android:layout_marginTop="20px"
>
<ImageView android:id="@+id/imgIconA"
android:layout_width="33px"
android:layout_height="33px"
android:src="@drawable/icon_a"
android:layout_alignParentLeft="true" <!-- -->
/>
<TextView android:id="@+id/txtLayerA"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/layer_a_adjusts"
android:textSize="7pt"
android:textColor="#FEFEFE"
android:typeface="sans"
android:layout_toRightOf="@id/imgIconA"
android:layout_marginLeft="5px"
android:layout_marginTop="8px"
/>
</RelativeLayout>
以下是整个代码:http://pastebin.com/VhpWSa6Z 拜托,有谁知道发生了什么事?
编辑:有人说这可能会发生,因为其他View正在使用此视图将自己定位在屏幕上。所以我尝试将GONE
可见性设置为RelativeLayerC。它奏效了。我不明白为什么它适用于这个View,而不是RelativeLayerA。在这里,您可以使用RelativeLayerC作为参考来查看RelativeConfig4。 http://pastebin.com/uHW6faPy
答案 0 :(得分:1)
我遇到了同样的问题..我认为这是一个bug .. :( 你可以绕过它..尝试这样使RelativeLayout不可见。
RelativeLayout rLayout=(RelativeLayout) findViewById(R.id.//your relativeLayout id);
RelativeLayout.LayoutParams rParams = new RelativeLayout.LayoutParams(
0, // its height... set it 0 to make it invisible..
RelativeLayout.LayoutParams.FILL_PARENT // and its width
);
rLayout.setLayoutParams(rParams);
这使它可见。
RelativeLayout.LayoutParams rParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.FILL_PARENT,
RelativeLayout.LayoutParams.FILL_PARENT);
rLayout.setLayoutParams(rParams);
以下是xml中RelativeLayout的正确参数。
<RelativeLayout
android:id="@+id/rLayout"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:background="#AA000000" >
记住!不要用这个。
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
或左,右..否则它将无法工作..!
希望有所帮助。