键盘

时间:2016-01-24 09:32:26

标签: android android-edittext

我在

的层次结构中有一个EditText
<CoordinateLayout>
...
    <NestedScrollView>
    ...
        <RelativeLayout> <!-- This is inside an included xml layout -->
        ...
            <EditText
                android:id="@+id/rateCalculator"
                android:layout_width="wrap_content"
                android:layout_height="48dp"
                android:background="@color/colorPrimary"
                android:inputType="number"
                android:maxLength="5"
                android:gravity="center"
                android:textColor="#FFFFFF"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true"
                android:paddingLeft="60dp" />
        </RelativeLayout>
    </NestedScrollView>
</CoordinateLayout>

当android软键盘处于焦点时,EditText正在被覆盖!因此,我无法在键入时看到输入的内容!

更新:

这是我的清单代码。没帮助!

<activity
        android:name=".OfferRide"
        android:label="@string/title_activity_offer_ride"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="adjustPan"
        android:theme="@style/AppTheme.NoActionBar" />

enter image description here

enter image description here

4 个答案:

答案 0 :(得分:2)

gravity删除EditText了!这似乎是一个错误。

<EditText
    android:id="@+id/rateCalculator"
    android:layout_width="wrap_content"
    android:layout_height="48dp"
    android:background="@color/colorPrimary"
    android:inputType="number"
    android:maxLength="5"
    android:textColor="#FFFFFF"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:paddingLeft="60dp" />

答案 1 :(得分:0)

您可以尝试在AndroidManifest中为windowSoftInputMode尝试adjustPan,adjustResize选项,如下所示:

<activity
    ...
    android:windowSoftInputMode="adjustPan" >
</activity>

您可以从here

了解有关此内容的更多信息

答案 2 :(得分:0)

根据您想要获得的行为,您可以在Manifest中的活动声明中使用android:windowSoftInputMode =“adjustResize”或android:windowSoftInputMode =“adjustPan”。

答案 3 :(得分:0)

以下是完整的文档: http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft

android:windowSoftInputMode=["stateUnspecified",
                                       "stateUnchanged", "stateHidden",
                                       "stateAlwaysHidden", "stateVisible",
                                       "stateAlwaysVisible", "adjustUnspecified",
                                       "adjustResize", "adjustPan"] > 
  

活动的主窗口如何与窗口交互   包含屏幕上的软键盘。此属性的设置   影响两件事:软键盘的状态 - 是否是   隐藏或可见 - 当活动成为用户的焦点时   注意。调整活动的主窗口 - 是否   它被调整为较小,以便为软键盘腾出空间或是否   其内容平移以使当前焦点在部分时可见   窗口被软键盘覆盖。设置必须是其中之一   下表中列出的值,或者一个的组合   &#34;状态...&#34;价值加一&#34;调整...&#34;值。设置多个值   在任何一组 - 多个&#34;状态......&#34;值,例如 - 有   未定义的结果。单个值由垂直条分隔   (|)。例如:

<activity android:windowSoftInputMode="stateVisible|adjustResize" . . . >
  

此处设置的值(&#34; stateUnspecified&#34; 和   &#34; adjustUnspecified&#34; )覆盖主题中设置的值。

标志:

  • &#34; stateUnspecified&#34;
  • &#34; stateUnchanged&#34;
  • &#34; stateHidden&#34; - 当活动成为用户关注的焦点时,软键盘的状态 - 无论是隐藏还是可见 -
  • &#34; stateAlwaysHidden&#34;
  • &#34; stateVisible&#34;
  • &#34; stateAlwaysVisible&#34;
  • &#34; adjustUnspecified&#34;
  • &#34; adjustResize&#34;

或者有时java会这样做:

EditText edtView=(EditText)findViewById(R.id.editTextConvertValue);
    edtView.setInputType((InputType.TYPE_NULL);

看看:

https://stackoverflow.com/a/6122733/4409113