我有一些视图(名称,电子邮件,密码,注册按钮):
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ViewFlipper
android:id="@+id/viewflipper"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
//Layouts
</ViewFlipper>
</ScrollView>
当我对一个edittext字段进行聚焦时,键盘会出现并覆盖视图中的下部字段。所以当键盘存在时我看不到它们。我想知道如何使视图可滚动,以便我可以看到较低的字段。此外,如何使视图自动滚动以使聚焦的字段可见。
答案 0 :(得分:41)
您需要在AndroidManifest.xml文件中包含活动的android:windowSoftInputMode="adjustResize"
属性 - 然后Android应自动为您调整大小:
<activity android:name="..."
...
android:windowSoftInputMode="adjustResize">
...
/>
答案 1 :(得分:6)
我创建了简单的xml文件,希望这就是你要找的东西。
第1步。你可以在键盘出现时滚动。
第2步。当你单击Text-Field时,它将出现在Focus /上面的键盘上。
<ScrollView android:id="@+id/ScrollView01"
xmlns:android="http://schemas.android.com/apk/res/android"
android:fillViewport="true"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:weightSum="1.0"
android:layout_height="match_parent"
android:focusable="true"
android:focusableInTouchMode="true"
android:id="@+id/l_layout">
<EditText
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:id="@+id/editText1"
android:layout_marginTop="100dp">
<requestFocus></requestFocus>
</EditText>
<EditText
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:id="@+id/editText2"
android:layout_marginTop="100dp">
</EditText>
</LinearLayout>
</ScrollView>
答案 2 :(得分:0)
你试过这个:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ViewFlipper
android:id="@+id/viewflipper"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/scroll_container">
//Layouts
</ScrollView>
</ViewFlipper>
答案 3 :(得分:0)
在我的情况下,@ Aleks G解决方案无效。所以我用
解决了我的问题<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/registration_scroll_view"
android:layout_alignParentTop="true"
android:layout_above="@+id/btn_register_submit"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<!--This comment will be replaced
by your focusable views-->
</LinearLayout>
</ScrollView>
<Button
android:id="@+id/btn_register_submit"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:background="@drawable/form_action_button_green"
android:gravity="center"
android:text="@string/submit"
/>
</RelativeLayout>