我正在我的应用程序的ExpandableListActivity中设计一个小表单,它由大量的EditText组件组成,其中大部分都是数字字段。
为了提高填充的可用性,我将属性android:imeOptions="actionNext|actionDone"
放在每个EditTexts中,这样每当用户在软键盘上按Enter键时,焦点就会转发到下一个输入字段。
这是有效的,接下来是重点,但是当要聚焦的下一个EditText位于另一个LinearLayout内时,键盘不会向下平移并且其内部聚焦字段保持与键盘重叠。
有关如何使其适用于此内部编辑框的任何输入?
这是布局:
<EditText
android:imeOptions="actionNext|actionDone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numeric="integer" />
<TextView
style="@android:style/TextAppearance.Medium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="FC (bat/min):"
android:textColor="@color/monthview_grid_color" />
<EditText
android:imeOptions="actionNext|actionDone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numeric="integer" />
<TextView
style="@android:style/TextAppearance.Medium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="FR (inc/min):"
android:textColor="@color/monthview_grid_color" />
<EditText
android:imeOptions="actionNext|actionDone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numeric="integer" />
<TextView
style="@android:style/TextAppearance.Medium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="PA:"
android:textColor="@color/monthview_grid_color" />
<LinearLayout
android:imeOptions="actionNext|actionDone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:imeOptions="actionNext|actionDone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:numeric="integer" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="X" />
<EditText
android:imeOptions="actionNext|actionDone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:numeric="integer" />
</LinearLayout>
<TextView
style="@android:style/TextAppearance.Medium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Sat. (%):"
android:textColor="@color/monthview_grid_color" />
<EditText
android:imeOptions="actionNext|actionDone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numeric="integer" />
这是我的AndroidManifest.xml中关于相关活动的剪辑:
<activity android:name=".activities.FormActivity" android:windowSoftInputMode="adjustPan" />
答案 0 :(得分:1)
您可以尝试在linearlayout上方设置编辑文本的android:nextFocusDown。你只需要在最后一个元素上使用actionNext和actionDone。
此外,不推荐使用数字,而是使用inputType =“number”。