目录
一、NestedScrollView/ScrollView造成EditText全遮住
一、NestedScrollView/ScrollView造成EditText全遮住
解决办法:在AndroidManifest.xml对应的Activity的注册处,添加android:windowSoftInputMode="adjustPan",就可以解决软盘全遮住EditText的问题
<activity
android:name=".view.activity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan"/>
windowSoftInputMode属性:
此属性是在 API 级别 14 中添加的。android:windowSoftInputMode活动的主窗口如何与包含以下内容的窗互 屏幕软键盘。此属性的设置影响两个 事情:当活动变为 用户关注的焦点。活动的主窗口是否为 调整大小以为软键盘或其内容腾出空间 平移以使当前焦点在窗口的一部分被覆盖时可见 软键盘。
该设置必须是下表中列出的值之一或 一个值加一个值的组合。在任一组中设置多个值(如多个值)具有未定义的结果。
各个值由竖线 “|”分隔,
如以下示例所示:<activity android:windowSoftInputMode="stateVisible|adjustResize" ... >
此处设置的值(与 除外)将覆盖主题中设置的值。"stateUnspecified""adjustUnspecified"
价值 | 描述 |
---|---|
stateUnspecified | 软键盘是隐藏还是可见 未指定。系统选择适当的状态或 依赖于主题中的设置。这是软键盘行为的默认设置。 |
stateUnchanged | 软键盘保持上次处于的任何状态, 可见或隐藏,当活动脱颖而出时。 |
stateHidden | 当用户选择活动时,软键盘将隐藏 - 即 是,当用户肯定地向前导航到 活动,而不是在离开另一个活动时后退。 |
stateAlwaysHidden | 当活动的主窗口时,软键盘始终处于隐藏状态 具有输入焦点。 |
stateVisible | 当用户选择 活动 - 即,当用户肯定地向前导航时 到活动,而不是在离开另一个活动时退缩 活动。 |
stateAlwaysVisible | 当窗口收到输入焦点时,软键盘可见。 |
adjustUnspecified | 活动的主窗口是否调整大小 为软键盘或内容腾出空间 未指定窗口平移以使当前焦点在屏幕上可见。 系统根据 关于窗口的内容是否具有任何布局视图 可以滚动其内容。如果有这样的视图,窗口 调整大小,假设滚动可以使所有 在较小区域内可见的窗口内容。这是主窗口行为的默认设置。 |
adjustResize | 活动的主窗口始终会调整大小,以便为 屏幕上的软键盘。 |
adjustPan | 活动的主窗口不会调整大小以为软窗口腾出空间 键盘。相反,窗口的内容会自动 平移,以便当前焦点永远不会被键盘遮挡, 用户始终可以看到他们正在键入的内容。这通常更少 比调整大小更可取,因为用户可能需要关闭软 键盘,用于访问窗口的遮挡部分并与之交互。 |
二、EditText被软盘遮住部分
在开发中对于EditText的高度往往我们设置了固定大小,这就造成了软盘定位到输入文字底的高度,如果EditText固定高度高于文字高度就会使软盘遮住超过文字高度的部分,所有在设置EditText的高度时我们可以使用android:paddingVertical来实现。
<EditText
android:id="@+id/et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="29sp"
android:paddingVertical="13dp"
android:background=""
android:hint=""
android:inputType="number"
android:maxLength="11"
android:maxLines="1"
android:paddingLeft="16dp"
android:textSize="16sp" />
如果对您有一些意义,希望您给博主一些鼓励(点赞、关注、收藏),如果有错误欢迎大家评论。