2010-01-07 21 views
5

Daha fazla "global" stilin daha "yerel" Stiller tarafından her zaman geçersiz kıldığını düşünüyorum. Örneğin, tüm Düğmeleri textSize = 40dip olacak şekilde yeniden tanımlarsam (Uygulamaya Tema olarak bu stili uygulayın) ve ardından textSize = 10dip yazan belirli bir Düğmeye başka bir Stil uygularsanız, o belirli Düğme 10dip textSize olmalıdır.Stiller minHeight/maxHeight: Temayı geçersiz kılmak için maxHeight'ı alamıyorum minHeight

Genelde bu şekilde çalışır. Ama maxHeight'a gelince değil. Ben varsayılan Düğmesi miras ve TEXTSIZE ve MinHeight ve bazı diğer değerleri ayarlar sonra başka Stil değiştirmek (aynı zamanda Düğme devralır) bir Stil gibi var benim styles.xml olarak

: İşte senaryodur Bu:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<style name="Button" parent="@android:style/Widget.Button"> 
    <item name="android:textSize">26dip</item> 
    <item name="android:minHeight">60dip</item> 
</style> 

<style name="ButtonHeader" parent="@android:style/Widget.Button"> 
    <item name="android:textSize">18dip</item> 
    <item name="android:minWidth">70dip</item> 
    <item name="android:maxHeight">10dip</item> 
</style> 
</resources>  

tüm düğmeleri büyük kılan benim Faaliyeti için tema olarak birinci Stil geçerli (MinHeight = 60dip). Ama bir "header" (başka bazı düğmelerim var) benim 60dip bir minHeight sahip olmak istemiyorum ve bu düğmeler için ButtonHeader kullanmak, maxHeight'ı 10dip olarak ayarlamak. Benim header.xml yılında

o şuna benzer:

<Button style="@style/ButtonHeader" android:text="UPP" android:id="@+id/Header_Button_UPP" android:layout_width="wrap_content" android:layout_height="wrap_content" ></Button> 
<Button style="@style/ButtonHeader" android:text="ALT" android:id="@+id/Header_Button_ALT" android:layout_width="wrap_content" android:layout_height="wrap_content" ></Button> 
<Button style="@style/ButtonHeader" android:text="NAV" android:id="@+id/Header_Button_NAV" android:layout_width="wrap_content" android:layout_height="wrap_content" ></Button> 
<Button style="@style/ButtonHeader" android:text="HIS" android:id="@+id/Header_Button_HIS" android:layout_width="wrap_content" android:layout_height="wrap_content" ></Button> 

Ben specificly "küresel" teması ağır basan, düğmeler stil ediyorum. Bazı bölümlerde çalışır; Bu üstbilgi düğmeleri için textSize doğru şekilde 18dip olarak ayarlanır, ancak maxHeight göz ardı edilir - bu düğmeler ayrıca 60dip'e kadar yükselir.

Eğer ButtonHeader için bir stilde, android set: minHeight = "100dip", başlığın içindeki düğmeler 100dip'e yükselecek ve Teması geçersiz kılacaktır. Ancak, yukarıda belirttiğim gibi, android olduğunda: maxHeight yerine, hiçbir şey olmuyor.

Neyi eksik?

+0

Hiç kimsenin bir ipucu yok mu? =) – Ted

cevap

5

başına neyin,

bana bildirin MinHeight boyutu artmalıdır ya? MinHeight = 60dp ve maxHeight = 10dp ile biten ve minHeight kazanır gibi görünüyor. MinHeight'ı açıkça başka bir şeye ayarlarsanız, bu sorunu yaşamamış olmanız gerekir.

+0

Tamam, az önce dediğin gibi minecight'ı geçersiz kılmam gerekiyordu) Dunno neden ben yapmadım bunu düşün. Az önce MaxHeight'ın bunu geçersiz kıldığını düşündüm. Kulağa mantıklı geliyor. Her neyse, cevap verin, puan ödüllendirildi =) – Ted

0

Sana Düğmesi (Düğme - HeaderButton) için 2 farklı stili var underestand olarak ve HeaderButton Stiller size

Ben senin kod uygulamak, bir sorun ile artık minHieght ve MaxHeight (maks yükseklik isworking) ve MinHeight yüz ayarlamak ve senin MinHeight 18dip textsize için uygun olmadığını bulmak, böylece tex boyutunu azaltmak veya ButtonHeader tarzı MinHeight özelliğini geçersiz olmamalı size

+0

Hey! Elbette, ButtonHeader'daki "maxHeight" çok küçük, biliyorum. Her türlü değeri denedim ve hiçbir şey yardım etmiyor. "Tema" ButtonHeader stilini geçersiz kılar ve düğmeyi (başlığın içinde) daha büyük yapar, hangi MaxHeight'ı ButtonHeader'a koyduğum önemli değil = ( – Ted

İlgili konular