我已经制作了一个注册表格,其中我有两个按钮。现在我想要的是,当键盘显示时,底部的两个按钮应该显示在键盘上方而不是隐藏在键盘下面。实现这一点,我写的代码没有给我任何成功。
Xml代码
<LinearLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:inputType="textPersonName"
style="@style/EditText"
android:hint="@string/firstname"
android:id="@+id/et_first_name" />
<EditText
android:inputType="textPersonName"
style="@style/EditText"
android:hint="@string/lastname"
android:id="@+id/et_last_name" />
<Button
style="@style/EditText"
android:text="@string/country"
android:id="@+id/bt_country" />
<Button
style="@style/EditText"
android:text="@string/gender"
android:id="@+id/bt_gender" />
<EditText
style="@style/EditText"
android:inputType="phone"
android:hint="@string/mobileno"
android:id="@+id/et_mobile_no" />
<EditText
style="@style/EditText"
android:inputType="textEmailAddress"
android:hint="@string/email"
android:id="@+id/et_email" />
</LinearLayout>
</LinearLayout>
</ScrollView>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
style="@style/EditText"
android:id="@+id/bt_reg_cancel"
android:text="@string/cancel"
android:layout_gravity="bottom"
android:layout_weight="1" />
<Button
style="@style/EditText"
android:text="@string/save"
android:id="@+id/bt_reg_save"
android:layout_gravity="bottom"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
请帮忙
答案 0 :(得分:2)
在Android Manifest中,提供属性android:windowSoftInputMode="adjustResize"
。当键盘显示时,这将调整您的布局。
因此,如果某些内容位于底部,则一旦显示
,它就会显示在键盘上方“请你能告诉我相对布局的代码,这将非常有帮助??? - user3917131 7分钟前”
解决方案: -
2.)重量方法: - ScrollView - &gt; 0.7 RelativeLayout - &gt; 0.3-&gt;在它中写下你的底部布局,并给属性对齐父底部为真。 在这种方法中,根据重量指南,您的滚动视图将仅占用屏幕的0.7,其余部分则由底部布局
3。)删除scrollview,而不是使其成为linearlayout。制作顶部父亲相对布局,并将属性对齐父母底部为真与底部布局以及上面属性的布局为线性布局
答案 1 :(得分:0)
例如,您应该将ScrollView的leyout_weight设置为1。并将LinearLayout的leyout_height设置为“wrap_content”。将ScrollView的layout_height设置为0dp会很好,所以LinearLayout可以管理它的高度。
<LinearLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical">
<ScrollView
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="0dp">
</ScrollView>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
style="@style/EditText"
android:id="@+id/bt_reg_cancel"
android:text="@string/cancel"
android:layout_gravity="bottom"
android:layout_weight="1" />
<Button
style="@style/EditText"
android:text="@string/save"
android:id="@+id/bt_reg_save"
android:layout_gravity="bottom"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
这应该可以解决问题。