【发布时间】:2018-01-06 12:18:27
【问题描述】:
所以我有一个第一次没有被键盘覆盖的 EditText。然后,当您关闭键盘并再次点击编辑文本时,它会覆盖编辑文本。
我花了几个小时研究这个问题并得出结论,它与编辑文本的这两个属性有关。
android:inputType="number"
android:gravity="center"
如果我删除其中任何一个,adjustPan(如我的清单中所示)一直按承诺工作。好像是安卓的bug。但我的编辑文本中需要这两行。解决此问题的最佳方法是什么?
这里是一个稍微精简的 xml 版本:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true">
<LinearLayout
android:id="@+id/buttons_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:weightSum="5">
<android.support.v7.widget.AppCompatButton
android:id="@+id/generate_button"
android:layout_width="match_parent"
android:layout_height="@dimen/button_height"
android:layout_marginBottom="@dimen/button_margin"
android:layout_marginEnd="0dp"
android:layout_marginLeft="@dimen/button_margin"
android:layout_marginRight="0dp"
android:layout_marginStart="@dimen/button_margin"
android:layout_marginTop="@dimen/button_margin"
android:layout_weight="1"
android:background="@color/buttonColor"
android:elevation="@dimen/button_elevation"
android:foreground="?attr/selectableItemBackground"
android:text="@string/generate"
android:textColor="@color/colorPrimary"
android:textSize="@dimen/generate_button_title_size"
android:textStyle="bold" />
<android.support.v7.widget.AppCompatImageButton
android:id="@+id/copy_button"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/button_margin"
android:layout_weight="4"
android:adjustViewBounds="true"
android:background="@color/buttonColor"
android:elevation="@dimen/button_elevation"
android:foreground="?attr/selectableItemBackground"
android:padding="@dimen/button_margin"
android:scaleType="fitCenter"
android:src="@drawable/ic_copy"
android:tint="@color/colorPrimary" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/buttons_layout"
android:orientation="vertical"
android:weightSum="10">
<GridLayout
android:id="@+id/grid_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="center"
android:layout_weight="6"
android:animateLayoutChanges="true">
</GridLayout>
<TextView
android:id="@+id/total_text_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:gravity="center"
android:text="11"
android:textSize="@dimen/toolbar_title_size"
android:textStyle="bold" />
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="center"
android:layout_weight="2"
android:textColorHint="@color/textColorHint">
<EditText
android:id="@+id/num_rolls_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="@string/number_of_rolls"
android:inputType="number"
android:maxLength="@integer/edit_text_max_length"
android:maxLines="1"
android:text="4"
android:textColor="@color/textColor"
android:textSize="@dimen/edit_text_text_size"/>
</android.support.design.widget.TextInputLayout>
</LinearLayout>
编辑:我发现键盘在使用 Android 7.0 时可以正常工作。我认为它不适用于低于此的任何东西。这是最近修复的错误还是什么?
此外,我在清单的应用程序和活动部分都包含了 android:windowSoftInputMode="adjustPan|stateHidden" ,但这似乎无法解决问题。
【问题讨论】:
-
你能发布xml吗?
-
@gunessun XML 发布
标签: java android android-edittext keyboard