所以,我想制作一个用于3个不同表的添加活动。 在最后一个我希望日期EditText消失。
我知道如何让它消失,但我希望布局也改变,这就是日期EditText出现时的样子
3 EditTexts and Button with alignbottom set to date EditText
这就是我将日期EditText设置为
时的样子2 EditTexts and Button with alignbottom set to the gone EditText
答案 0 :(得分:1)
尝试这样的布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:orientation="vertical">
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:visibility="visible"/>
</LinearLayout>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>
问题是,您需要另一个支持布局,这是我的层次结构中的第二个,它将具有android:layout_height =“wrap_content”,因此当您将可见性设置为其中一个EditTexts时,它是将根据另外两个EditTexts高度更改LinearLayout的高度,其中Button的高度始终为android:layout_height =“match_parent”。
答案 1 :(得分:-1)
LinearLayout
包含EditText的垂直方向,包含在包含LinearLayout
的水平Button
中。如果LinearLayout
和Button
都具有包装内容的高度,那么无论有多少EditText
,它们都会适应
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView2" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView3" />
</LinearLayout>
<Button
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="New Button"
android:id="@+id/button"
android:layout_weight="1"
android:background="#3e3e3e" />
</LinearLayout>