2017-01-24 122 views
0

我有一个2页的viewpager。在第2页中,我有6个Editext来输入文本。当我切换到第2页时,我想显示sortkeyboard。我尝试了很多解决方案,但它对我无效。当滑动viewpager时,软键盘不会自动显示android

这里是我的布局:

<?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:clickable="true" 
    android:background="@color/background_splash" 
    android:orientation="vertical"> 

    <ImageView 
     android:id="@+id/imgLogo" 
     android:layout_width="@dimen/logo_height_primary" 
     android:scaleType="centerInside" 
     android:layout_height="@dimen/logo_height_primary" 
     android:layout_marginTop="20dp" 
     android:layout_gravity="center" 
     android:src="@mipmap/ic_logo" /> 

    <TextView 
     android:id="@+id/tvHint" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_marginTop="50dp" 
     android:text="@string/tip_enter_otp" 
     android:textColor="#222222" 
     android:textSize="14sp" /> 

    <LinearLayout 
     android:id="@+id/lnOtp" 
     android:layout_width="wrap_content" 
     android:layout_height="40dp" 
     android:layout_gravity="center" 
     android:layout_marginTop="8dp" 
     android:orientation="horizontal"> 

     <Editext 
      android:id="@+id/edtOTP1" 
      android:layout_width="@dimen/edt_otp_layout_width" 
      android:layout_height="match_parent" 
      android:textSize="@dimen/text_otp_size" 
      android:gravity="center" 
      android:padding="@dimen/text_otp_padding" 
      android:layout_marginRight="@dimen/edt_otp_horizontal_margin" 
      android:background="@drawable/background_textbox_otp" 
      android:inputType="numberDecimal" 
      android:maxLength="1" 
      android:textAlignment="center" 
      android:textColor="@android:color/black" /> 

     <Editext 
      android:id="@+id/edtOTP2" 
      android:layout_width="@dimen/edt_otp_layout_width" 
      android:layout_height="match_parent" 
      android:textSize="@dimen/text_otp_size" 
      android:padding="@dimen/text_otp_padding" 
      android:layout_marginRight="@dimen/edt_otp_horizontal_margin" 
      android:background="@drawable/background_textbox_otp" 
      android:inputType="numberDecimal" 
      android:maxLength="1" 
      android:textAlignment="center" 
      android:textColor="@android:color/black" /> 

     <Editext 
      android:id="@+id/edtOTP3" 
      android:layout_width="@dimen/edt_otp_layout_width" 
      android:layout_height="match_parent" 
      android:textSize="@dimen/text_otp_size" 
      android:padding="@dimen/text_otp_padding" 
      android:layout_marginRight="@dimen/edt_otp_horizontal_margin" 
      android:background="@drawable/background_textbox_otp" 
      android:inputType="numberDecimal" 
      android:maxLength="1" 
      android:textAlignment="center" 
      android:textColor="@android:color/black" /> 

     <Editext 
      android:id="@+id/edtOTP4" 
      android:layout_width="@dimen/edt_otp_layout_width" 
      android:layout_height="match_parent" 
      android:textSize="@dimen/text_otp_size" 
      android:padding="@dimen/text_otp_padding" 
      android:layout_marginRight="@dimen/edt_otp_horizontal_margin" 
      android:background="@drawable/background_textbox_otp" 
      android:inputType="numberDecimal" 
      android:maxLength="1" 
      android:textAlignment="center" 
      android:textColor="@android:color/black" /> 

     <Editext 
      android:id="@+id/edtOTP5" 
      android:layout_width="@dimen/edt_otp_layout_width" 
      android:layout_height="match_parent" 
      android:textSize="@dimen/text_otp_size" 
      android:padding="@dimen/text_otp_padding" 
      android:layout_marginRight="@dimen/edt_otp_horizontal_margin" 
      android:background="@drawable/background_textbox_otp" 
      android:inputType="numberDecimal" 
      android:maxLength="1" 
      android:textAlignment="center" 
      android:textColor="@android:color/black" /> 

     <Editext 
      android:id="@+id/edtOTP6" 
      android:layout_width="@dimen/edt_otp_layout_width" 
      android:layout_height="match_parent" 
      android:textSize="@dimen/text_otp_size" 
      android:padding="@dimen/text_otp_padding" 
      android:background="@drawable/background_textbox_otp" 
      android:inputType="numberDecimal" 
      android:maxLength="1" 
      android:textAlignment="center" 
      android:textColor="@android:color/black" /> 
    </LinearLayout> 

</LinearLayout> 

谢谢你们

+0

你没试过哪些解决方案? –

回答

0

添加该代码打开键盘。你可以在里面onTabSelected方法添加以下代码

InputMethodManager inputMethodManager = 
(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
    inputMethodManager.toggleSoftInputFromWindow(
linearLayout.getApplicationWindowToken(), 
InputMethodManager.SHOW_FORCED, 0); 
0

使用此属性在布局标签中的XML文件:

android:focusable="true" 
android:focusableInTouchMode="true" 

它不滚动型的作品,因此你需要将这些属性添加到主ScrollView的孩子。

<?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:clickable="true" 
    android:focusable="true" 
    android:focusableInTouchMode="true" 
    android:background="@color/background_splash" 
    android:orientation="vertical"> 

    <ImageView 
     android:id="@+id/imgLogo" 
     android:layout_width="@dimen/logo_height_primary" 
     android:scaleType="centerInside" 
     android:layout_height="@dimen/logo_height_primary" 
     android:layout_marginTop="20dp" 
     android:layout_gravity="center" 
     android:src="@mipmap/ic_logo" /> 

    <TextView 
     android:id="@+id/tvHint" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_marginTop="50dp" 
     android:text="@string/tip_enter_otp" 
     android:textColor="#222222" 
     android:textSize="14sp" /> 

    <LinearLayout 
     android:id="@+id/lnOtp" 
     android:layout_width="wrap_content" 
     android:layout_height="40dp" 
     android:layout_gravity="center" 
     android:layout_marginTop="8dp" 
     android:orientation="horizontal"> 

     <Editext 
      android:id="@+id/edtOTP1" 
      android:layout_width="@dimen/edt_otp_layout_width" 
      android:layout_height="match_parent" 
      android:textSize="@dimen/text_otp_size" 
      android:gravity="center" 
      android:padding="@dimen/text_otp_padding" 
      android:layout_marginRight="@dimen/edt_otp_horizontal_margin" 
      android:background="@drawable/background_textbox_otp" 
      android:inputType="numberDecimal" 
      android:maxLength="1" 
      android:textAlignment="center" 
      android:textColor="@android:color/black" /> 

     <Editext 
      android:id="@+id/edtOTP2" 
      android:layout_width="@dimen/edt_otp_layout_width" 
      android:layout_height="match_parent" 
      android:textSize="@dimen/text_otp_size" 
      android:padding="@dimen/text_otp_padding" 
      android:layout_marginRight="@dimen/edt_otp_horizontal_margin" 
      android:background="@drawable/background_textbox_otp" 
      android:inputType="numberDecimal" 
      android:maxLength="1" 
      android:textAlignment="center" 
      android:textColor="@android:color/black" /> 

     <Editext 
      android:id="@+id/edtOTP3" 
      android:layout_width="@dimen/edt_otp_layout_width" 
      android:layout_height="match_parent" 
      android:textSize="@dimen/text_otp_size" 
      android:padding="@dimen/text_otp_padding" 
      android:layout_marginRight="@dimen/edt_otp_horizontal_margin" 
      android:background="@drawable/background_textbox_otp" 
      android:inputType="numberDecimal" 
      android:maxLength="1" 
      android:textAlignment="center" 
      android:textColor="@android:color/black" /> 

     <Editext 
      android:id="@+id/edtOTP4" 
      android:layout_width="@dimen/edt_otp_layout_width" 
      android:layout_height="match_parent" 
      android:textSize="@dimen/text_otp_size" 
      android:padding="@dimen/text_otp_padding" 
      android:layout_marginRight="@dimen/edt_otp_horizontal_margin" 
      android:background="@drawable/background_textbox_otp" 
      android:inputType="numberDecimal" 
      android:maxLength="1" 
      android:textAlignment="center" 
      android:textColor="@android:color/black" /> 

     <Editext 
      android:id="@+id/edtOTP5" 
      android:layout_width="@dimen/edt_otp_layout_width" 
      android:layout_height="match_parent" 
      android:textSize="@dimen/text_otp_size" 
      android:padding="@dimen/text_otp_padding" 
      android:layout_marginRight="@dimen/edt_otp_horizontal_margin" 
      android:background="@drawable/background_textbox_otp" 
      android:inputType="numberDecimal" 
      android:maxLength="1" 
      android:textAlignment="center" 
      android:textColor="@android:color/black" /> 

     <Editext 
      android:id="@+id/edtOTP6" 
      android:layout_width="@dimen/edt_otp_layout_width" 
      android:layout_height="match_parent" 
      android:textSize="@dimen/text_otp_size" 
      android:padding="@dimen/text_otp_padding" 
      android:background="@drawable/background_textbox_otp" 
      android:inputType="numberDecimal" 
      android:maxLength="1" 
      android:textAlignment="center" 
      android:textColor="@android:color/black" /> 
    </LinearLayout> 

</LinearLayout> 
0

尝试windowSoftInputMode在您的活动清单中这样

<activity 
     android:name=".YourActivity" 
     android:windowSoftInputMode="stateVisible|adjustResize"></activity> 
相关问题