Android 隐藏/显示布局困难
我有三个子线性布局,分别是Android 隐藏/显示布局困难,android,android-layout,android-linearlayout,android-relativelayout,Android,Android Layout,Android Linearlayout,Android Relativelayout,我有三个子线性布局,分别是RelativeLayout。我在同一RelativeLayout下以编程方式隐藏和显示所有三种布局 在上述三个子线性布局中,第一个Linearlayout内容比另外两个内容大。所以,每当我显示第二个LinearLayout时,它也会占用第一个LinearLayout的空间 我想在显示第二个线性布局时删除第一个线性布局占用的空间 为了更好地理解,我将我的xml布局粘贴到下面 <?xml version="1.0" encoding="utf-8"?> <
RelativeLayout
。我在同一RelativeLayout
下以编程方式隐藏和显示所有三种布局
在上述三个子线性布局中,第一个Linearlayout
内容比另外两个内容大。所以,每当我显示第二个LinearLayout
时,它也会占用第一个LinearLayout
的空间
我想在显示第二个线性布局时删除第一个线性布局占用的空间
为了更好地理解,我将我的xml布局粘贴到下面
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white" >
<!-- ATC/TCAS/AIRSPACE -->
<LinearLayout
android:id="@+id/atcTypeLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:orientation="horizontal"
android:visibility="gone" >
<include
android:id="@+id/atcType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
layout="@layout/atc_incident_type" />
</LinearLayout>
<!-- Evacuation -->
<LinearLayout
android:id="@+id/mainEvoccutionLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:orientation="horizontal"
android:visibility="gone" >
<LinearLayout
android:id="@+id/evocutionLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Emergencies /Evacuation"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/black"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/editable"
android:text="Details "
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/black"
android:textStyle="bold" />
<!-- Dyanmic check Box -->
</LinearLayout>
<LinearLayout
android:id="@+id/secEvoLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="100dp"
android:layout_marginTop="25dp"
android:orientation="vertical" >
<!-- Dyanmic check Box -->
</LinearLayout>
</LinearLayout>
<!-- Evolution layout over and start of collision near miss -->
<LinearLayout
android:id="@+id/collisionNearLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:orientation="vertical"
android:visibility="gone" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/editable"
android:text="Collision/Near Miss "
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/black"
android:textStyle="bold" />
<!-- dynamic creation of check box -->
</LinearLayout>
</RelativeLayout>
请大家帮帮我。当使用RelativeLayout时,您需要为孩子们添加一些附加属性,以告诉Android您希望他们的布局。您有两种可能的选择,RelativeLayout和LinearLayout 相对布局 请注意,为了简洁起见,我遗漏了您的其他属性,但它们仍然应该包括在内。关键部分是下面的
android:layout_
属性。如果不包括这些视图,则视图只是像您已经观察到的那样彼此重叠地附着在一起
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white" >
<LinearLayout
android:id="@+id/atcTypeLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
...
</LinearLayout>
<LinearLayout
android:id="@+id/mainEvoccutionLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/atcTypeLinear" >
...
</LinearLayout>
<LinearLayout
android:id="@+id/collisionNearLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/mainEvoccutionLinear" >
...
</LinearLayout>
</RelativeLayout>
...
...
...
线性布局
另一个选项是仅使用LinearLayout作为父对象
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white" >
<LinearLayout
android:id="@+id/atcTypeLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
...
</LinearLayout>
<LinearLayout
android:id="@+id/mainEvoccutionLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
...
</LinearLayout>
<LinearLayout
android:id="@+id/collisionNearLinear"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
...
</LinearLayout>
</LinearLayout>
...
...
...
谢谢你们的回复。
我简直不敢相信,我在我的.java中犯了一个愚蠢的错误,我把layout设置可见性属性设置为不可见,而不是消失了
对不起,伙计们。谢谢你接受我的回答。
再次感谢Thanx对我的帮助。:) 您想做什么?我想在显示第二个线性布局时删除第一个线性布局占用的空间。您是否尝试过在基本视图组中使用RelativeLayout以外的内容?android:visiblity=“GONE”
//到所需视图回读我的答案,我可能误解了您的问题。是否将第一个LinearLayout的可见性属性设置为“已消失”,将第二个LinearLayout设置为“可见”,则第二个LinearLayout不会移动到父对象的顶部?