web-dev-qa-db-ja.com

TextInputLayoutにラップしたときのEditTextの最下行の太さを変更します

ここに私のコードがあります

XMLマークアップ

<Android.support.design.widget.TextInputLayout
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:theme="@style/TextLabel">

    <EditText
        Android:id="@+id/etContactName"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:hint="Contact Name"/>

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

スタイル

<style name="TextLabel" parent="TextAppearance.AppCompat">
    <item name="Android:textColorHint">@color/hintColor</item>
    <item name="colorAccent">@color/primaryColor</item>
    <item name="colorControlNormal">@color/hintColor</item>
    <item name="colorControlActivated">@color/primaryColor</item>
</style>

ここに出力があります
(通常表示)
Normal View

(フォーカスビュー)

Focused View

今私の問題/問題

  1. 一番下のラインを細くしたい。どこで変更する必要があります。
  2. 点滅カーソルが表示されていない、表示方法。
  3. EditTextは、スペルミスを自動的に強調表示します。私はそれを止める必要があります。

誰かが問題を解決する正しい方法を教えてください。これに答えるためにもっと情報が必要な人は誰でもコメントしてください。

前もって感謝します。

24
Krishanu Dey

カスタムxml drawableを使用して問題を解決しました。もっと良い方法があるかもしれませんが、私はそれを見つけることができませんでした。以下は、テキストボックスの背景として使用しているドローアブルです

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <item Android:state_pressed="true">
        <layer-list >
            <item
                Android:bottom="1dp"
                Android:left="-2dp"
                Android:right="-2dp"
                Android:top="-2dp">
                <shape Android:shape="rectangle" >
                    <stroke
                        Android:width="0.5dp"
                        Android:color="@color/primaryColor" />

                    <solid Android:color="#00FFFFFF" />

                    <padding Android:left="3dp"
                        Android:right="3dp"
                        Android:top="3dp"
                        Android:bottom="3dp" />
                </shape>
            </item>

        </layer-list>
    </item>
    <item Android:state_focused="true">
        <layer-list >
            <item
                Android:bottom="1dp"
                Android:left="-2dp"
                Android:right="-2dp"
                Android:top="-2dp">
                <shape Android:shape="rectangle" >
                    <stroke
                        Android:width="0.5dp"
                        Android:color="@color/primaryColor" />

                    <solid Android:color="#00FFFFFF" />

                    <padding Android:left="3dp"
                        Android:right="3dp"
                        Android:top="3dp"
                        Android:bottom="3dp" />
                </shape>
            </item>

        </layer-list>
    </item>
    <item>
        <layer-list >
            <item
                Android:bottom="1dp"
                Android:left="-2dp"
                Android:right="-2dp"
                Android:top="-2dp">
                <shape Android:shape="rectangle" >
                    <stroke
                        Android:width="0.5dp"
                        Android:color="#BCBCBC" />

                    <solid Android:color="#00FFFFFF" />

                    <padding Android:left="3dp"
                        Android:right="3dp"
                        Android:top="3dp"
                        Android:bottom="3dp" />
                </shape>
            </item>

        </layer-list>
    </item>

</selector>
42
Krishanu Dey

編集テキストの下部の色

Android:backgroundTint="@color/yourcolor"

スペルチェッカーを無効にするには、Edittext xmlにコードを追加します

Android:inputType="textNoSuggestions"

プロジェクトの描画可能フォルダーに「EditTextStyle.xml」という名前のXMLファイルを作成し、次のコードを記述します。

<?xml version="1.0" encoding="utf-8" ?>

   <shape xmlns:Android="http://schemas.Android.com/apk/r..."
   Android:thickness="0dp"
   Android:shape="rectangle">
  <stroke Android:width="3dp"
     Android:color="#4799E8"/>
  <corners Android:radius="5dp" />
  <gradient
  Android:startColor="#C8C8C8"
  Android:endColor="#FFFFFF"
  Android:type="linear"
  Android:angle="270"/>
  </shape>

次に、EditTextに次の属性を追加します。

       <EditText    

        Android:background="@drawable/EditTextStyle"/>
1
sasikumar