がCardViewの内部にある場合、EditText imeOptionが機能しません。次のコードでimeOptionを追加するなど、さまざまなオプションを試しました。
editPassword.setImeOptions(EditorInfo.IME_ACTION_DONE);
私が使用しているXMLは次のとおりです。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/normal_padding_screen"
android:layout_marginEnd="@dimen/normal_padding_screen"
app:cardBackgroundColor="@android:color/white"
app:cardElevation="6dp">
<EditText
android:id="@+id/editTextEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:padding="8dp"
android:hint="@string/hint_email"
android:imeOptions="actionNext"
android:inputType="textEmailAddress"
android:drawableStart="@drawable/ic_mail"
android:drawablePadding="8dp"/>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginStart="@dimen/normal_padding_screen"
android:layout_marginEnd="@dimen/normal_padding_screen"
android:layout_marginBottom="10dp"
android:descendantFocusability="beforeDescendants"
app:cardBackgroundColor="@android:color/white"
app:cardElevation="6dp">
<EditText
android:id="@+id/editTextPass"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:padding="8dp"
android:lines="1"
android:imeOptions="actionDone"
android:hint="@string/hint_password"
android:drawableStart="@drawable/ic_password"
android:drawablePadding="12dp"/>
</android.support.v7.widget.CardView>
</LinearLayout>
しかし、キーボードのパスワードのEditTextでimeOptionが「actionDone」に設定されていると、「Enter / next_line」のオプションが表示されます。
EditTextに必要なパラメータのいくつかを見逃しているようです。maxlines = "1"を追加します。これにより、1行に制限されます。EditTextの入力タイプを定義するinputType = "textPassword"または "numberPassword"を追加します。これらの2つの値を使用すると、EditTextは正常に機能するはずです。
<EditText
android:id="@+id/editTextPass"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:padding="8dp"
android:maxLines="1"
android:inputType="textPassword"
android:imeOptions="actionDone"
android:hint="enter password"
android:drawableStart="@mipmap/ic_launcher"
android:drawablePadding="12dp"/>
これがお役に立てば幸いです。ハッピーコーディング。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加