我有两个EditText
和一个Button
的登录布局。当我在EditText
中输入一些文字时,当键盘打开时,它会与我的layout
部分重叠。我尝试向上滚动,但无法向上滚动布局以显示。我使用相对布局来创建它。怎么解决?
谢谢。
答案 0 :(得分:0)
尝试在ScrollView中嵌套所有内容,希望这会有所帮助。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@id/RLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"
xmlns:android="http://schemas.android.com/apk/res/android"
>
// Your code
</RelativeLayout>
</ScrollView>
答案 1 :(得分:0)
将EditText
和Button
放在ScrollView
内。可以滚动ScrollView
内的任何内容。所以你的问题将得到解决。
请注意,ScrollView
只能容纳一个孩子。因此,您必须将View
放在ViewGroup
LinearLayout
或RelativeLayout
虽然Julia Zhao的回答是正确的,但它使用的是RelativeLayout
。如果您使用RelativeLayout
,则必须做更多工作才能使View
出现在另一个之下。因此,我建议您在LinearLayout
内使用android:orientation="vertical"
。它会自动将一个View
放在另一个之下,而无需任何额外的努力。所以你不会像其他View
重叠一样发出问题。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="UserName"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:hint="Password"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="Login"/>
</LinearLayout>
</ScrollView>