SORU
26 EKİM 2014, Pazar


Değişen EditText alt appcompat v7 ile renkli çizgi

Appcompat bak Android 5 üzerinde tutarlı almak için v7 ve daha az kullanıyorum. Oldukça iyi çalışıyor. Ancak alt çizgi rengini ve EditTexts için aksan rengini değiştirmek için nasıl anlamaya olamaz. Mümkün mü?

Özel bir tanımlamak için çalıştık android:editTextStyle (cf. aşağıda ama ben sadece tam bir arka plan rengi veya metin rengini değiştirmek için başarılı ama alt satırında ne de vurgu rengi değil. Belirli bir özellik değeri var mı acaba? android:background özelliği ile özel drawable bir resim kullanmak zorunda mıyım? hexa bir renk belirtmek için mümkün değil mi?

 <style name="Theme.App.Base" parent="Theme.AppCompat.Light.DarkActionBar">
     <item name="android:editTextStyle">@style/Widget.App.EditText</item>
 </style>

 <style name="Widget.App.EditText" parent="Widget.AppCompat.EditText">
     ???
 </style>

Android API 21 kaynaklara göre, Materyal Tasarımı ile EditTexts colorControlActivated colorControlNormal kullanmak gibi görünüyor. Bu nedenle, bir önceki stil tanımını bu özellikleri geçersiz kılmak için denedim ama hiçbir etkisi yoktur. Muhtemelen appcompat bunu kullanmaz. Ne yazık ki, yapamam Materyal Tasarımı ile appcompat son sürümü için kaynaklar bulmak.

CEVAP
29 EKİM 2014, ÇARŞAMBA


Sonunda bir çözüm buldum. Sadece app tema tanımı ve edittext senin tarzın değil colorControlActivated, colorControlHighlight colorControlNormal değeri geçersiz kılma oluşur. Daha sonra arzu ettiğiniz her şey için bu temayı kullanmayı düşünüyorum. Aşağıda bir örnek:

<style name="Theme.App.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorControlNormal">#c5c5c5</item>
    <item name="colorControlActivated">@color/accent</item>
    <item name="colorControlHighlight">@color/accent</item>
</style>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Boiler Room

    Boiler Room

    10 Mayıs 2012
  • krotoflik

    krotoflik

    26 ŞUBAT 2011
  • Crossover

    Crossover

    18 HAZİRAN 2007