web-dev-qa-db-ja.com

TextInputLayoutの左アイコン

TextInputLayoutに左アイコンを追加しようとしていますが、テキストがアイコンを乗り越えます。パディングを追加すると、すべてが一緒に移動します。

私が試した

 Android:drawableLeft="@drawable/ic_store_white_48dp"
 Android:drawablePadding="50dp"
 Android:drawableStart="@drawable/ic_store_white_48dp"

しかし、それは機能していません!各行に水平方向のLinearLayoutを実装する必要がありますが、簡単な方法はないことを確認したいと思います

コードレイアウトは次のとおりです。

        <Android.support.design.widget.TextInputLayout
            Android:id="@+id/til_calle"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content">


            <EditText
                Android:id="@+id/et_calle"
                Android:layout_width="fill_parent"
                Android:layout_height="wrap_content"
                Android:drawableLeft="@drawable/ic_store_white_48dp"
                Android:drawablePadding="50dp"
                Android:drawableStart="@drawable/ic_store_white_48dp"
                Android:hint="Calle"
                Android:inputType="text" />

        </Android.support.design.widget.TextInputLayout>
26

最新のDesignライブラリを使用していることを確認してください。DesignAppCompatの両方に必要なのは次のとおりです。

compile 'com.Android.support:design:23.2.0'

デザインのライブラリTextInputLayoutとAppCompatのAppCompatEditTextの両方を使用してみてください。

<Android.support.design.widget.TextInputLayout
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:layout_gravity="center"
    Android:textColor="@Android:color/white"
    Android:textColorHint="@color/loginHint">

    <Android.support.v7.widget.AppCompatEditText
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:imeOptions="actionNext"
        Android:inputType="textEmailAddress|textNoSuggestions"
        Android:minWidth="350dp"
        Android:drawableLeft="@drawable/ic_store_white_48dp"
        Android:drawableStart="@drawable/ic_store_white_48dp"
        Android:textColor="@Android:color/white"
        Android:textColorHint="@color/loginHint"
        Android:textCursorDrawable="@null"
        app:backgroundTint="@Android:color/white"/>
</Android.support.design.widget.TextInputLayout>
29
Jared Burrows

これはAndroidのIssue Trackerで報告されたバグです

https://code.google.com/p/Android/issues/detail?id=225836

そして現在、Design Support Library(v25.0.1)の最新リリースで修正されています。ビルドグラドルに必要な依存関係を追加するだけです...

dependencies {
    compile 'com.Android.support:design:25.0.1'
}
3
Leo

コードレイアウトは次のとおりです。

 <Android.support.design.widget.TextInputLayout
            Android:id="@+id/input_layout_username"
            Android:layout_width="match_parent"

            Android:layout_height="wrap_content">

            <EditText
                Android:id="@+id/input_username"
                Android:layout_width="match_parent"
                Android:layout_height="wrap_content"
                Android:singleLine="true"
                Android:drawableLeft="@drawable/icon_user"
                Android:drawableStart="@drawable/icon_user"
                Android:drawablePadding="10dp"
                Android:hint="User Name" />
        </Android.support.design.widget.TextInputLayout>

Android:drawablePadding = "10dp"

その仕事

3

Material Componentsライブラリ を使用すると、 TextInputLayout の左アイコンをapp:startIconDrawable属性。

何かのようなもの:

    <com.google.Android.material.textfield.TextInputLayout
        Android:hint="Hint text"
        app:startIconDrawable="@drawable/ic_add_24px"
        ...>

        <com.google.Android.material.textfield.TextInputEditText/>

    </com.google.Android.material.textfield.TextInputLayout>

enter image description here

0

はい。現在、レイアウト上のバグです。あなたはEditTextにleftPaddingを与えるか、テキストの前にいくつかのblank_spacesを与えることができます。

0

passwordToggleEnabledを追加すると、右側に目のアイコンが自動的に追加され、drawableLeftが削除されます。そのため、drawableLeftを削除し、drawableStartを使用する必要があります。

<Android.support.design.widget.TextInputLayout
        Android:id="@+id/til_calle"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content">

      <EditText
            Android:id="@+id/et_calle"
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:drawablePadding="50dp"
            Android:drawableStart="@drawable/ic_store_white_48dp"
            Android:hint="Calle"
            Android:inputType="text" />
0
Cevin Ways