2011-08-23 15 views
5

Grup başlıklarının ters çizildiği bir ExpandableListView yapmaya çalışıyorum. XML ile metin rengini, boyutunu vb. Değiştirmede sorun yoktur. Sistem varsayılanlarınıTers arka plan için hangi stil/attr/çekilebilir?

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    style="@android:style/TextAppearance.Medium.Inverse" 
/> 

Nasıl kullanabileceğimi öğrendim ama arka plan rengi için ?! Bu stiller neden arka plan rengi bilgisi içermediğini anlamıyorum ?!

Tabii ki doğrudan bir renk kullanabilirim, ancak iyi varsayılan arka plan niteliklerini veya stillerini ararım. "Style/Background.For.TextAppearance.Medium.Inverse" ;-)

İyi bir çözüm ne olurdu? Böylece karanlık temalı cihazlar için beyaz/gri alırım ve beyaz temalı siyahı alır mıyım?

Veya sadece R.color.background_light mı kullanmalıyım?

Selamlar, Joerg

Not: Burada İlk soru ;-) burada son ayları ve yılları yanıtlayan tüm insanlara Thanx: Sen büyük insanlar beni programlamada yeniden giriş bulmak için çok daha kolay hale 12 yıl aradan sonra ;-)

cevap

-1

Bu, stilin yalnızca TextView'un metin rengini etkilemesi ve arka planın saydam olması nedeniyle olur. Elle Elbette seçtiğiniz renk ile #FFFFFF yerine

android:backround="#FFFFFF" 

kullanarak arka planı değiştirmek zorunda olacak.

android:background="@color/my_color_choice" 

renkli kaynak dosyası oluşturma: Web colors in an Android color xml resource file

Şimdi arkaplan Bunu düzeltmek için, arzu tüm alanı doldurmak etmediğini fark edebilirsiniz Yoksa kullanarak renk kaynaklarından bir renk seçebilirsiniz TextView bir ViewGroup (LinearLayout, RelativeLayout) yerleştirin ve ViewGroup'ın arka plan rengini ayarlayın.

0

Görüldüğü gibi, adlarında "TextAppearance" olan stiller yalnızca görünümün ön plandaki metin niteliklerini etkiler. android:textAppearance özniteliği için uygundur. Adlarında "Widget" olan stiller, tüm UI özelliklerini tanımlar ve style özniteliğinde çalışır, ancak Android "Widget.TextView.Inverse" stilini tanımlamaz.

<TextView 
    android:textAppearance="@style/TextAppearance.AppCompat.Small.Inverse" 
    android:background="?android:colorForeground" 
    ... /> 

Bu görünüm için arka plan olarak temanın ön plan rengini kullanır:

Ben ters bir metin görünümü olarak bir konsol benzeri günlüğünü görüntülemek istedi

, aşağıdaki XML kullanılır. Karanlık bir tema ile beyaz üzerine koyu metin görüntüler ve hafif bir temada siyah üzerine açık metin görüntüler.