当软键盘出现并且软键盘在编辑文本下方时,在布局中保持工具栏位置固定
Posted
技术标签:
【中文标题】当软键盘出现并且软键盘在编辑文本下方时,在布局中保持工具栏位置固定【英文标题】:keep Toolbar position fix in layout when soft keyboard comes and soft keyboard below edit text 【发布时间】:2016-11-28 18:51:03 【问题描述】:这是我的简单看法:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main3"
android:orientation="vertical"
android:layout_
android:layout_
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.utkarsh.test.Main3Activity">
<EditText
android:layout_marginTop="180dip"
android:layout_
android:layout_
android:hint="edit text1" />
<EditText
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:hint="edit text2" />
<EditText
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:hint="edit text3" />
<EditText
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:hint="edit text4" />
</LinearLayout>
我想要两个条件: 1]一旦我开始输入我的编辑文本,键盘就应该在那个特定的编辑文本下方 2]标题栏应保持固定在该位置。
我在 manifest 中使用 android:windowSoftInputMode="adjustPan" 来实现拳头条件,但同时没有达到 2 条件。 其次使用 android:windowSoftInputMode="adjustResize" 达到 2 条件但 1 未达到。 同时使用 android:windowSoftInputMode="adjustResize|adjustPan" 和调整调整大小一样。我已经尝试了所有答案,例如 android:windowSoftInputMode="adjustNothing" 但没有任何帮助
我怎样才能同时满足这两个条件??
【问题讨论】:
协调器布局可以做点什么吗? 【参考方案1】:如果我理解你,请尝试使用ScrollView
。示例:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="pl.com.qubuss.test.RegisterActivity">
<RelativeLayout
android:layout_
android:layout_>
<EditText
android:layout_
android:layout_
android:id="@+id/nameET"
android:layout_marginTop="20dp"
android:inputType="textPersonName"
android:hint="@string/nameTextHint"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android: />
<EditText
android:layout_
android:layout_
android:id="@+id/surnameET"
android:layout_below="@+id/nameET"
android:layout_alignLeft="@+id/nameET"
android:layout_alignStart="@+id/nameET"
android:layout_marginTop="20dp"
android:
android:hint="@string/surnameTextHint" />
<EditText
android:layout_
android:layout_
android:inputType="textEmailAddress"
android:ems="10"
android:id="@+id/emailET"
android:hint="@string/emailTextHint"
android:
android:layout_below="@+id/surnameET"
android:layout_alignLeft="@+id/surnameET"
android:layout_alignStart="@+id/surnameET"
android:layout_marginTop="20dp" />
<EditText
android:layout_
android:layout_
android:id="@+id/username_registerET"
android:layout_below="@+id/emailET"
android:layout_alignLeft="@+id/emailET"
android:layout_alignStart="@+id/emailET"
android:layout_marginTop="20dp"
android:
android:hint="@string/usernameTextHint" />
<EditText
android:layout_
android:layout_
android:inputType="textPassword"
android:ems="10"
android:id="@+id/password_registerET"
android:layout_below="@+id/username_registerET"
android:layout_alignLeft="@+id/username_registerET"
android:layout_alignStart="@+id/username_registerET"
android:layout_marginTop="20dp"
android:hint="@string/passwordTextHint" />
<Button
android:layout_
android:layout_
android:text="@string/registerButton"
android:id="@+id/registerButton"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="23dp"
android:layout_below="@+id/conPasswor_registerET"/>
<EditText
android:layout_
android:layout_
android:inputType="textPassword"
android:ems="10"
android:id="@+id/conPasswor_registerET"
android:layout_marginTop="20dp"
android:layout_below="@+id/password_registerET"
android:layout_alignLeft="@+id/password_registerET"
android:layout_alignStart="@+id/password_registerET"
android:hint="@string/conPasswordTextHint" />
</RelativeLayout>
</ScrollView>
【讨论】:
以上是关于当软键盘出现并且软键盘在编辑文本下方时,在布局中保持工具栏位置固定的主要内容,如果未能解决你的问题,请参考以下文章