web-dev-qa-db-ja.com

TextViewをEditTextのようにする方法

EditTextのようにマッチする親の幅でTextView全体に下線を付ける方法は?

このコード行は、TextView全体ではなく、テキストに下線を引くだけです。

textView.setPaintFlags(textView.getPaintFlags()| Paint.UNDERLINE_TEXT_FLAG);

私がTextViewを使用したい理由は、setOnClickListenerがTextViewの1つのタップですぐにトリガーされるのに対し、無効になっている編集可能なEditTextには2つのタップが必要なためです。

15

EditTextの背景をTextViewに配置できます。例えば:

        <TextView
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:text="Your text"
            Android:hint="My hint"
            Android:textColor="?attr/editTextColor"
            Android:background="?attr/editTextBackground"
            Android:gravity="center_vertical"
            Android:textAppearance="?android:attr/textAppearanceMediumInverse"
            />

AppCompatテーマを使用している場合は、テキストの外観をAndroid:textAppearance="@style/TextAppearance.AppCompat.Button"に変更できます。

42
sorianiv

これは、xml属性の行を多数記述することなく実現できます。

<TextView
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="Your text"
        Android:hint="Your hint"
        style="@Android:style/Widget.EditText"
        />
7
blueware