1

У меня проблема с EditText. Я не могу показать все поле EditText когда мягкая клавиатура, показывая, как на следующем рисунке:Android EditText не может сфокусироваться, когда отображается клавиатура

Screenshot

И следующий мой код макета:

<?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> 

Так как я хочу его авто скрыли мягкую клавиатуру, когда я войти в эту деятельность, так что я добавил это в моей деятельности:

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

Что такое проблема с моей макета XML?

+0

Возможно, вы попробуете добавить прокрутку в общий макет. –

+0

Я пробовал это, но он все еще не работает. У меня есть другой макет без прокрутки, он также может автоматически прокручивать вверх, чтобы показать EditText. –

ответ

0

использовать вид прокрутки, а также добавить следующее в теге действия в файле манифеста:

  android:windowSoftInputMode="adjustPan" 
+0

Он сказал, что я не могу добавить ScrollView, потому что у меня есть GridView. Кроме того, для ScrollView может быть только один ребенок. –

0

Используйте следующий фрагмент кода в вашем файле манифеста:

 android:windowSoftInputMode="adjustResize|adjustPan" 
+0

Я тестировал оба [android: windowSoftInputMode = "adjustResize | adjustPan"] и выше [android: windowSoftInputMode = "adjustPan"]. Оба не работают. –

0

Что мне помогло это:

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

Надеется, что это поможет, а

Смежные вопросы