简体   繁体   English

显示键盘时,Android EditText无法聚焦

[英]Android EditText cannot focus when the keyboard is showing

I have a problem on the EditText. 我在EditText上有问题。 I cannot show all the EditText field when the soft keyboard is showing, just like the following image: 显示软键盘时,我无法显示所有的EditText字段,如下图所示:

屏幕截图

And the following is my layout code: 以下是我的布局代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="15dip"
    android:focusable="true" >
    <TextView
        android:id="@+id/password_listing"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical|center_horizontal"
        android:text="@string/new_service"
        android:textSize="20dip"
        android:textStyle="bold"
        android:padding="10dip" />
    <RelativeLayout
        android:id="@+id/l_service_name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:gravity="center_vertical" >
    <TextView
        android:id="@+id/service_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:gravity="center_vertical"
        android:text="@string/service_name"
        android:textSize="15dip"
        android:textStyle="bold" />
    <EditText
        android:id="@+id/servicename"
        android:layout_width="180dip"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:gravity="center_vertical|center_horizontal"
        android:hint=""
        android:singleLine="true"
        android:focusable="true" />
</RelativeLayout>
<RelativeLayout
        android:id="@+id/l_username"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:gravity="center_vertical" >
    <TextView
        android:id="@+id/user_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    android:layout_centerVertical="true"
        android:gravity="center_vertical"
        android:text="@string/username"
        android:textSize="15dip"
        android:textStyle="bold" />
    <EditText
        android:id="@+id/username"
        android:layout_width="180dip"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:gravity="center_vertical|center_horizontal"
        android:hint=""
        android:singleLine="true"
        android:focusable="true" />     
</RelativeLayout>
<RelativeLayout
        android:id="@+id/l_pwd"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:gravity="center_vertical" >
    <TextView
        android:id="@+id/pwdset"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:gravity="center_vertical"
        android:text="@string/pwd_txt"
        android:textSize="15dip"
        android:textStyle="bold" />
    <EditText
        android:id="@+id/pwd_set"
        android:layout_width="180dip"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:gravity="center_vertical|center_horizontal"
        android:hint=""
        android:inputType="textPassword"
        android:isScrollContainer="true"
        android:focusable="true" /> 
</RelativeLayout>
<LinearLayout 
        android:id="@+id/layout_3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:gravity="center_vertical|center_horizontal" >
    <TextView 
        android:id="@+id/selectmsg_txt"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical|center_horizontal"
        android:text="@string/selectmsg"
        android:textSize="15dip"
        android:textStyle="bold" />
    <GridView 
        android:id="@+id/app_grid"
        android:layout_width="match_parent" 
        android:layout_height="150dp"
        android:padding="10dp"
        android:verticalSpacing="10dp"
        android:horizontalSpacing="10dp"
        android:numColumns="auto_fit"
        android:columnWidth="60dp"
        android:stretchMode="columnWidth"
        android:gravity="center" />
    <Button
        android:id="@+id/b_addpwd"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical|center_horizontal"
        android:text="@string/add"
        android:background="@android:color/transparent"
        android:drawableLeft="@drawable/ic_add"
        android:textColor="@android:color/white"
        android:textSize="20dip" />
    </LinearLayout>   
</LinearLayout>

Since I want it auto-hidden the soft keyboard when I enter this activity, so I added this into my activity: 由于我希望它在进入此活动时自动隐藏软键盘,因此我将其添加到我的活动中:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

What is the problem with my layout xml? 我的布局xml有什么问题?

使用滚动视图,并在清单文件的活动标签中添加以下内容:

          android:windowSoftInputMode="adjustPan"

在清单文件中使用以下代码段:

      android:windowSoftInputMode="adjustResize|adjustPan"

What helped me is this: 帮助我的是:

EditText et = new EditText(); //or whatever way you use to fetch the object
et.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);   

Hope it'll help you as well 希望对您有帮助

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM