我的表单上有两个按钮,保存并取消。当我转到表单时,键盘会自动显示。 (顺便说一下,Form有一个EditText)。我真的不知道如何将按钮安装到底部。现在按钮放在EditText下面,我想把它们放在键盘上方。
对于想要查看代码的人:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView01" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" style="@style/Form">
<LinearLayout android:id="@+id/linearLayout1"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_margin="7dp"
android:orientation="vertical">
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/etNewListNameForm"
android:hint="list name"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"></EditText>
</LinearLayout>
<LinearLayout style="@style/BottomPanel"
android:id="@+id/linearLayout2"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/btnSaveCardList"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="5dp"
android:text="Save"></Button>
<Button
android:id="@+id/btnCancelCardLst"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="1"
android:text="Cancel"></Button>
</LinearLayout>
</LinearLayout>
</ScrollView>
最好的问候
图片:
答案 0 :(得分:2)
你有一个选择是使用相对布局而不是线性,并使用alignParentBottom属性,如下所示:
<RelativeLayout android:id="@+id/linearLayout1"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_margin="7dp"
android:orientation="vertical">
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/etNewListNameForm"
android:hint="list name"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"></EditText>
</LinearLayout>
<LinearLayout style="@style/BottomPanel"
android:id="@+id/linearLayout2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true">
.....
编辑:值得注意的是,您应该认真考虑为视图使用更具描述性的名称。您已经为按钮和EditTexts使用了描述性名称,但是对于布局视图使用了linearLayout1和linearLayout2。考虑将它们命名为mainLayout和bottomPannelLayout之类的东西,当你试图弄清楚如何设置它时,它会更容易。
答案 1 :(得分:0)
在包含EditText的LinearLayout中,将android:layout_height
更改为0dp
并将android:layout_weight
设置为1
。这样,在按钮面板占据其份额后,它将耗尽父级中的其余空间。
...
<LinearLayout android:id="@+id/linearLayout1"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_width="fill_parent"
android:layout_margin="7dp"
android:orientation="vertical">
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/etNewListNameForm"
android:hint="list name"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"></EditText>
</LinearLayout>
...
答案 2 :(得分:0)
答案 3 :(得分:0)
删除不必要的视图并使用relativeLayuot
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:background="#ff0022">
<LinearLayout android:id="@+id/linearLayout2"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_alignParentBottom="true">
<Button android:layout_marginTop="5dp" android:text="Save"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_weight="1" android:id="@+id/btnSaveCardList"></Button>
<Button android:layout_marginTop="5dp" android:text="Cancel"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_weight="1" android:id="@+id/btnCancelCardLst"></Button>
</LinearLayout>
<EditText android:layout_height="wrap_content"
android:layout_margin="7dp" android:hint="list name"
android:layout_width="fill_parent" android:id="@+id/etNewListNameForm"
android:layout_alignParentTop="true" android:layout_centerHorizontal="true"
android:layout_marginTop="20dp">
<requestFocus></requestFocus>
</EditText>
</RelativeLayout>