EditTextのようにマッチする親の幅でTextView全体に下線を付ける方法は?
このコード行は、TextView全体ではなく、テキストに下線を引くだけです。
textView.setPaintFlags(textView.getPaintFlags()| Paint.UNDERLINE_TEXT_FLAG);
私がTextViewを使用したい理由は、setOnClickListenerがTextViewの1つのタップですぐにトリガーされるのに対し、無効になっている編集可能なEditTextには2つのタップが必要なためです。
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"
に変更できます。
これは、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"
/>