gpt4 book ai didi

android - ViewPager 中的软键盘

转载 作者:行者123 更新时间:2023-11-30 00:58:55 25 4
gpt4 key购买 nike

我有 ViewPager 和几个包含 EditText 字段的页面。任务是在第一个EditText(电话号码)页面上打开软键盘,点击完成按钮后切换到另一个页面并将焦点放在第二个EditText(验证码)上.键盘必须始终打开,EditText 字段必须在上方。在第二页上它被覆盖了。

<android.support.percent.PercentFrameLayout
android:id="@+id/verification"
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.v7.widget.AppCompatImageView
android:id="@+id/superup_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
app:layout_marginTopPercent="33%"
app:layout_widthPercent="65%"
app:srcCompat="@drawable/animated_superup_logo_white"/>

<superup.onboarding.NonSwipeableViewPager
android:id="@+id/verifyPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/transition">

<android.support.percent.PercentRelativeLayout
android:id="@+id/layout_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content">

<android.support.v7.widget.AppCompatImageView
android:id="@+id/superup_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
app:layout_marginTopPercent="67%"
app:layout_widthPercent="50%"
app:srcCompat="@drawable/superup_name"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/superup_name"
android:layout_centerHorizontal="true"
android:text="@string/layout_start_text"
android:textColor="@color/white"
android:textSize="18dp"
android:textStyle="bold"/>

</android.support.percent.PercentRelativeLayout>

<android.support.percent.PercentRelativeLayout
android:id="@+id/layout_number"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layoutDirection="ltr">

<TextView
android:id="@+id/txt_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:gravity="center"
android:text="@string/layout_number_text"
android:textColor="@color/white"
android:textSize="18dp"
android:textStyle="bold"
app:layout_marginTopPercent="3%"/>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:gravity="center"
app:layout_marginBottomPercent="23%"
app:layout_widthPercent="75%">

<superup.onboarding.CountryCodePicker
android:id="@+id/country_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:contentColor="@color/white"
app:countryPreference="IL"
app:defaultNameCode="IL"
app:hideNameCode="true"
app:textSize="24sp"/>

<EditText
android:id="@+id/et_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="1234567890"
android:gravity="center"
android:imeOptions="actionDone"
android:inputType="number"
android:maxLength="10"
android:textColor="@color/white"
android:textSize="24sp"/>
</LinearLayout>

</android.support.percent.PercentRelativeLayout>

<android.support.percent.PercentRelativeLayout
android:id="@+id/layout_otp"
android:layout_width="match_parent"
android:layout_height="match_parent">

<superup.onboarding.PinEntryEditText
android:id="@+id/et_code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:cursorVisible="false"
android:digits="1234567890"
android:imeOptions="actionDone"
android:inputType="number"
android:maxLength="4"
android:textIsSelectable="false"
android:textSize="50dp"
android:textStyle="bold"
app:layout_marginBottomPercent="23%"
app:layout_marginLeftPercent="20%"
app:layout_marginRightPercent="20%"/>

<TextView
android:id="@+id/txt_wrong"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/et_code"
android:layout_centerHorizontal="true"
android:padding="10dp"
android:text="@string/wrong_number"
android:textColor="@color/white"
android:textSize="16dp"
android:textStyle="bold"/>

<TextView
android:id="@+id/txt_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/txt_wrong"
android:layout_centerHorizontal="true"
android:layoutDirection="ltr"
android:textColor="@color/white"
android:textSize="20dp"
android:textStyle="bold"/>

</android.support.percent.PercentRelativeLayout>

</superup.onboarding.NonSwipeableViewPager>

</android.support.percent.PercentFrameLayout>

使用页面滑动效果很好,但我需要使用键盘切换页面。使用 verifyPager.setCurrentItem 更改页面后,EditText 被键盘覆盖。

et_number.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int actionId, KeyEvent keyEvent) {
switch (actionId) {
case EditorInfo.IME_ACTION_DONE:
verifyPager.setCurrentItem(verifyPager.getChildCount() - 1);
return true;
default:
return false;
}
}
});

Android 6 的三星有这个错误,Nexus 5X/6P/华硕没有。

最佳答案

我认为这是你的 First EditText

 <EditText
android:id="@+id/et_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="1234567890"
android:gravity="center"
android:imeOptions="actionDone"
android:inputType="number"
android:maxLength="10"
android:textColor="@color/white"
android:textSize="24sp"/>

这是第二个

<superup.onboarding.PinEntryEditText
android:id="@+id/et_code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:cursorVisible="false"
android:digits="1234567890"
android:imeOptions="actionDone"
android:inputType="number"
android:maxLength="4"
android:textIsSelectable="false"
android:textSize="50dp"
android:textStyle="bold"
app:layout_marginBottomPercent="23%"
app:layout_marginLeftPercent="20%"
app:layout_marginRightPercent="20%"/>

只需像下面这样给出第二个到第一个的 id

android:nextFocusDown="@+id/et_code"  

First EditText中写入以上代码。

关于android - ViewPager 中的软键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39739379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com