2016-01-17 6 views
12

EditTextのようにMatch parentの幅でTextView全体に下線を付けるにはどうすればいいですか?TextViewをEditTextのように見せるには?

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

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

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

+3

あなたがのEditTextを使用して、それを無効にする必要があり、編集可能のEditTextのように見えなくするために何かをしたい場合。それからそれはまた、それが編集可能でないことをユーザに示唆する正しいテキストカラーを有する。 –

+0

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

答えて

29

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"にテキストの外観を変更したい場合があります。

+1

'android:background ="?attr/editTextBackground "は私の質問に対する答えです。ありがとう、これは参考になります。 –

+0

素晴らしい、あなたの時間を節約しました –

+0

ReadOnly EditTextスタイルと同じですが、達成する方法はありますか? TextViewを編集できないときは、通常のEditText(setEnable(false)&& setClickable(false))のように、下線はグレー表示になります。何か案は? –

5

あなたは、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" 
     /> 
関連する問題