在EditText上的软键盘

3
这是我的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="Introduzca codigo de comercial"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="400dp"
    android:layout_height="190dp"
    android:layout_above="@+id/textView1"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="60dp"
    android:src="@drawable/logo" />

<EditText
    android:id="@+id/textocontrasena"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="30dp"
    android:ems="5" >
</EditText>

<Button
    android:id="@+id/loginlogin"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_below="@+id/textocontrasena"
    android:layout_marginTop="20dp"
    android:background="@drawable/xmlbotonzarko"
    android:text="Login"
    android:textColor="#FFF"
    android:textSize="19sp"
    android:textStyle="bold" />

我的问题是当我进入Activity时,软键盘会自动打开。我希望只有在用户点击EditText时才会打开软键盘(而不是提前打开)。
谢谢!

您正在测试哪个设备? - Saurabh Pareek
请查看此答案:https://dev59.com/9mgu5IYBdhLWcg3wJD2b#11542820 - MAC
可能是重复的问题:如何阻止EditText在Activity启动时获取焦点? - COD3BOY
3个回答

2

通过在与此布局相关联的Android清单中添加以下内容之一,编辑您的Activity代码:

android:configChanges="keyboardHidden|orientation"

或者,
android:windowSoftInputMode="stateHidden"

这样它看起来会像这样:

<activity
    android:name="my.package.name.MyActivity"
    android:label="MyActivity"
    android:configChanges="keyboardHidden|orientation"  <!-- Pick one of -->
    android:windowSoftInputMode="stateHidden" />        <!-- these two   -->

这应该可以防止软键盘在活动启动时自动弹出。

1
将以下代码放入您的活动清单中:android:windowSoftInputMode="stateHidden"

0
将焦点放在另一个视图上,并尝试为您的TextEdit视图添加以下内容:android:focusable="true" android:focusableInTouchMode="true" 示例更改焦点:((yourView)findViewById(R.id.your_id)).requestFocus();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接