2016-01-17 19 views
12

Tüm TextView, EditText gibi eşleştirme ebadının genişliğinde nasıl çizilir?TextView, EditText gibi nasıl görünür?

Bu kod satırı yalnızca TextView öğesinin değil, metnin altını çizer.

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

Ben TextView kullanmak istiyorum nedeni iki musluklar engelli düzenlenebilir EditText için gerekli, ancak setOnClickListener, TextView için tek bir dokunuşla hemen tetiklenir olmasıdır.

+3

Bir şeyin bir EditText benziyor ancak bir EditText kullanmak ve devre dışı olmalıdır düzenlenemeyebilir istiyorum. Daha sonra kullanıcıya düzenlenebilir olmadığına dair doğru metin rengine sahip olacaktır. –

+0

TextView kullanmak istediğim nedeni, setOnClickListener'ın TextView için tek bir dokunuşta hemen tetiklenmesidir, buna karşın devre dışı bırakılabilir düzenlenebilir bir EditText için iki dokunuş gereklidir. –

cevap

29

Bir EditText'in arka planını TextView'inize yerleştirebilirsiniz. Örneğin:

 <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" 
      /> 
Sen bir AppCompat tema kullanıyorsanız android:textAppearance="@style/TextAppearance.AppCompat.Button" metin görünümünü değiştirmek isteyebilirsiniz

. Sen xml kadar satır yazmadan bunu başarabilirsiniz

+1

'android: background ="? Attr/editTextBackground "' benim soruma cevaptır. Çok teşekkür ederim, bu yardımcı olur. –

+0

inanılmaz, zamanımı kurtardınız –

+0

Aynı şeyi elde etmek için bir yol var mı, ancak ReadOnly EditText stili için? TextView düzenlenebilir olmadığında, alt çizgi "setEnable (false) && setClickable (false)" olan düzenli bir EditText ile grileşmelidir. Herhangi bir fikir? –

5

nitelikleri:

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