我有一个布局,我根据权重属性按比例放置了我的小部件。我不想使用 scrollView,我希望我的小部件根据它们的权重适合屏幕。
但是,我希望我的布局在弹出软键盘时可以滚动。我不想调整它的大小,所以我不能使用 android:windowSoftInputMode="adjustResize"
我尝试了 android:windowSoftInputMode="adjustPan"
并将 edittext 字段移动到软键盘上方。但是,这次它没有滚动,我必须关闭软键盘才能选择下一个 EditText 字段。我知道通过添加输入类型,我的键盘上可以有前进按钮。但是,我不想只依赖于此,我还希望它可以滚动而无需像 IOS 中那样调整大小。
我能做到吗?如果是的话,你能给我解释一下吗?
这是我的布局:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
android:orientation="vertical"
android:weightSum="20">
<LinearLayout
android:layout_width="0px"
android:layout_height="0px"
android:focusable="true"
android:focusableInTouchMode="true" />
<FrameLayout
android:id="@+id/imagelogin"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="center"
android:layout_weight="12"
android:gravity="center">
<ImageView
android:id="@+id/image"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:src="@drawable/logo_home" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_gravity="bottom"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:orientation="horizontal"
android:weightSum="2">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:background="@color/material_blue_grey_800"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Tab 1"
android:textColor="@android:color/white"
android:textSize="20sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:layout_weight="1"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Tab 2"
android:textColor="@android:color/white"
android:textSize="20sp" />
</LinearLayout>
</LinearLayout>
<include
android:id="@+id/toolbar"
layout="@layout/app_bar"></include>
</FrameLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="8">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Input 1" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Input 1" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Input 1" />
</LinearLayout>
</FrameLayout>
</LinearLayout>
这是它的样子:
最佳答案
该功能并未内置于 Android 中。如果需要,您需要将整个布局放在 ScrollView 中。
关于android - 使软键盘在 Android 中表现得像 IOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35108444/