22

私はこれらの行で何かを作ろうとしています:

EditText の例

を使用してヒントを表示android:hint="Email Address"できますが、ヘルパー テキストを表示できません -これがメールのユーザー名になります

    <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <EditText
            android:id="@+id/et_username"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="15"
            android:hint="Username"
            app:et_helper="Username is preferably your registered email"/>

    </android.support.design.widget.TextInputLayout>`

私が得ているのは、編集テキストの下にある登録済みの電子メールのみであり、ユーザー名はありません。

出力:

出力

任意のポインタをいただければ幸いです。ありがとうございました。

4

7 に答える 7

25

最良の方法は、を使用することTextInputLayoutです。Google は新しいデザイン ライブラリでそれを導入しました。TextInputLayout を使用するには、build.gradle 依存関係に以下を追加する必要があります。

compile 'com.android.support:design:22.2.0'

次に、xml ファイルで使用します。

<android.support.design.widget.TextInputLayout
android:id="@+id/textInputLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content">

<EditText
    android:id="@+id/editText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="Enter your name"/>
</android.support.design.widget.TextInputLayout>

error true を設定することで、テキストを設定できます。エラーを表示するためのものですが、用途には適しています。必要に応じて、色や書体を変更できます。

TextInputLayout til = (TextInputLayout)    findViewById(R.id.textInputLayout);
til.setErrorEnabled(true);
til.setError("You need to enter a name");

ここに画像の説明を入力

于 2015-11-24T10:56:06.607 に答える
3

ヘルパー テキストは、TextInputLayout によって提供されません。ただし、以下の記事には実際の例があります。クラスへの別のインジケータとして HelperText を追加することにより、TextInputLayout から拡張されたクラスを使用し、ErrorText と連携します。

https://medium.com/@elye.project/material-login-with-helper-text-232472400c15#.vm28p662v

于 2016-08-08T03:44:04.490 に答える
1

だからあなたが欲しいのはこれです:

ヘルパー テキスト

このライブラリを使用してこれを実現できます。

https://github.com/rengwuxian/MaterialEditText

「ヘルパー テキスト」属性を設定して行の下にテキストを表示し、「ヒント」属性を設定して行の上にテキストを表示できます。以下は、添付の写真のサンプル レイアウトです。

<com.rengwuxian.materialedittext.MaterialEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Password"
        android:inputType="textPassword"
        app:met_floatingLabel="normal"
        app:met_helperText="Must contain at least 8 characters"
        app:met_helperTextAlwaysShown="true"/>
于 2016-06-17T04:55:32.363 に答える
0

ここで同様の質問がありました。LinearLayout で 2 つの EditText ビューを垂直に閉じたままにしたい場合は、方法がないと思います。1 つの方法は、上部の EditText の android:gravity を「bottom」に、「top」を下部の EditText に設定できることだと思います。しかし、RelativeLayout では、これは簡単なはずです。

ユーザーが入力している間でもヒントテキストを (EdiText の上に) 表示したい場合は、TextInputLayout を使用できます。通常、ヒントを EditText に設定すると、この方法では機能しません。ビューに触れてフォーカスを合わせると、ヒント テキストが消えてしまう問題を修正しました。

于 2015-11-24T11:13:32.707 に答える