web-dev-qa-db-ja.com

TextInputEditTextから下線を削除します

Androidユーザーからのメールを受け取る画面です。以下はコードのスニペットです。テキストの下に表示されている下線を削除したいと思います。

<com.google.Android.material.textfield.TextInputLayout
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:layout_margin="8dp"
    Android:hint="@string/email"
    Android:textColorHint="@color/blueBackground"
    app:boxBackgroundColor="@color/input_background"
    app:boxCornerRadiusBottomEnd="20dp"
    app:boxCornerRadiusBottomStart="20dp"
    app:boxCornerRadiusTopEnd="20dp"
    app:boxCornerRadiusTopStart="20dp"
    app:endIconMode="clear_text"
    app:endIconTint="@color/blueBackground"
    app:hintTextColor="@color/blueBackground">

    <com.google.Android.material.textfield.TextInputEditText
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:textColor="@color/blueBackground"
        Android:textSize="18sp"
        Android:layout_margin="8dp" />

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

私が試してみました Android:background="@null"および

<item name="colorControlNormal">@Android:color/transparent</item> <item name="colorControlActivated">@Android:color/transparent</item>

しかし、それは機能していません。

EditText

6
Sagar Jogadia

このようなカスタムTextInputLayoutを作成します

package com.google.Android.material.textfield

import Android.content.Context
import Android.util.AttributeSet
class TextInputLayoutWithoutUnderline @JvmOverloads constructor(
        context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : TextInputLayout(context, attrs, defStyleAttr) {

    override fun updateEditTextBackground() {
        // XXX don't call super on purpose
    }

}
0
logcat

この行をTextInputLayoutに追加するとうまくいきます:

app:boxStrokeWidth="0dp"

[〜#〜]更新[〜#〜]

Color resディレクトリ内にet_box_color.xmlファイルを追加し、その中に以下の行を追加します。

<selector xmlns:Android="http://schemas.Android.com/apk/res/Android" >
   <item Android:color="@color/transparent"
        Android:state_pressed="true"
        Android:state_focused="true"
        Android:state_selected="true"
        Android:state_checkable="true"
        Android:state_checked="true"
        Android:state_enabled="true"
        Android:state_window_focused="true"/>
</selector>

次に、以下のようなマテリアル編集テキストを追加します。

<com.google.Android.material.textfield.TextInputLayout
                Android:id="@+id/textInputLayout"
                Android:layout_width="match_parent"
                Android:layout_height="wrap_content"
                Android:background="@drawable/border"
                app:boxStrokeColor="@color/et_box_color"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/llBank">

                <com.google.Android.material.textfield.TextInputEditText
                    Android:id="@+id/etAmount"
                    Android:layout_width="match_parent"
                    Android:layout_height="wrap_content"
                    Android:layout_marginBottom="1dp"
                    Android:background="#00FFFFFF"
                    Android:gravity="center"
                    Android:hint="Amount"
                    Android:imeOptions="actionDone"
                    Android:inputType="numberDecimal" />

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

TextInputLayoutの境界線を作成するために背景を追加しました。必要がない場合は、TextInputLayoutの背景を削除してください。 TextInputEditTextの背景は、背景を透明にするために必要になります。

0
Touhid

TextInputLayoutの背景をドローアブルに設定し、TextInputEditTextの背景を透明に設定すると、下線が削除されます。

<com.google.Android.material.textfield.TextInputLayout
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:layout_margin="8dp"
        Android:hint="@string/email"
        Android:background="@drawable/blue_drawable"
        app:endIconMode="clear_text"
        app:endIconTint="@color/black"
        app:hintTextColor="@color/black">

    <com.google.Android.material.textfield.TextInputEditText
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:textColor="@color/black"
            Android:background="@Android:color/transparent"
            Android:textSize="18sp"
            Android:layout_margin="8dp" />

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

blue_drawable.xml

<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:shape="rectangle">
<corners Android:radius="20dp"/>
<solid Android:color="@Android:color/holo_blue_bright"/></shape>

enter image description here

0
no_name

あなたがapp:boxBackgroundModeを塗りつぶし、下線なしでしたい場合はこれが機能します

<item name="boxStrokeWidthFocused">0dp</item>
<item name="boxStrokeWidth">0dp</item>
0
Shweta Chauhan

簡単な方法;

app:boxBackgroundMode="filled"
app:boxStrokeWidth="0dp"
0