2013-01-02 24 views
5

Sherlock eylem çubuğumu özelleştirmeye çalışıyorum, ancak style.xml kodladığım hiçbir şey tanınmadı.Styling ActionBar Sherlock

android:theme="@style/Theme.Sherlock" 

Benim style.xml:

<resources> 
<style name="Theme.MyAppTheme" parent="Theme.Sherlock"> 
    <item name="android:actionBarStyle">@style/Theme.MyAppTheme.ActionBar</item> 
</style> 

<style name="Theme.MyAppTheme.ActionBar" parent="Widget.Sherlock.ActionBar"> 
    <item name="android:background">#222222</item> 
    <item name="android:height">64dip</item> 
    <item name="android:titleTextStyle">@style/Theme.MyAppTheme.ActionBar.TitleTextStyle</item> 
</style> 

<style name="Theme.MyAppTheme.ActionBar.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title"> 
    <item name="android:textColor">#fff</item> 
    <item name="android:textStyle">bold</item> 
    <item name="android:textSize">32sp</item> 
</style> 

benim İşlem Çubuğu bu şekilde çağırıyorum:

public class MainActivity extends SherlockActivity { 

com.actionbarsherlock.app.ActionBar actionbar; 

... 

actionbar = getSupportActionBar(); 

... } 

yoktur benim tezahür dosyasında

ac göstermede sorun yok tionbar, ama aynı style.xml kodlanmış herhangi bir özelleştirme göstermiyor, birisi bana yardımcı olabilir? Minnettar.

+0

!!! http://stackoverflow.com/questions/19623805/actionbarsherlock-stacked-action-bar-styling-issue – toobsco42

cevap

8

öyle. Theme.MyAppTheme adıyla özel stili hazırladınız ve üst öğeye Theme.Sherlock olarak sahip oldunuz. Bu nedenle, android:theme="@style/Theme.MyAppTheme" gibi manifest dosyanızdaki özelleştirilmiş stilinizi (Theme.MyAppTheme) bildirmeniz gerekir. Hatta diğer cevaplayıcı da dediği gibi android önek özniteliklerini de içermemelisiniz. Bu yardımcı olur umarım. Hatta this'a da başvurabilirsiniz.

<style name="Theme.MyAppTheme" parent="Theme.Sherlock.Light"> 
      <item name="android:actionBarStyle">@style/Theme.MyAppTheme.ActionBar</item> 
     <item name="actionBarStyle">@style/Theme.MyAppTheme.ActionBar</item>   
    </style> 

    <style name="Theme.MyAppTheme.ActionBar" parent="Widget.Sherlock.ActionBar"> 
    <item name="android:background">#222222</item> 
    <item name = "background">#222222</item> 
    <item name="android:height">64dip</item> 
    <item name="height">64dip</item> 

    <item name="android:titleTextStyle">@style/Theme.MyAppTheme.ActionBar.TitleTextStyle</item> 
<item name="titleTextStyle">@style/Theme.MyAppTheme.ActionBar.TitleTextStyle</item> 
</style> 

<style name="Theme.MyAppTheme.ActionBar.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title"> 
     <item name="android:textColor">#fff</item> 
     <item name="textColor">#fff</item> 
     <item name="android:textStyle">bold</item> 
     <item name="textStyle">bold</item> 
     <item name="android:textSize">32sp</item> 
     <item name="textSize">32sp</item> 
</style> 
+0

Bu benim noob hatası çözüldü, teşekkür ederim! –

+0

Bir şey değil. – Kanth

+0

@Appu bunu min sdk sürüm 8 ile uygulamalar için kullanmanın bir yolu var mı? – pepela

0

Bu:

<item name="android:actionBarStyle">@style/Theme.MyAppTheme.ActionBar</item> 

fark, varsayılan İşlem Çubuğu içindir 'android'. Böyle stilini zorunda: Eğer herhangi bir fark yapmaz manifest dosyasında android:theme="@style/Theme.Sherlock" aynı orijinal tarzını uygulayarak çünkü

 <resources> 
    <style name="Theme.MyAppTheme" parent="Theme.Sherlock"> 
     <item name="android:actionBarStyle">@style/Theme.MyAppTheme.ActionBar</item> 
     <item name="actionBarStyle">@style/Theme.MyAppTheme.ActionBar</item> 

    </style> 

    <style name="Theme.MyAppTheme.ActionBar" parent="Widget.Sherlock.ActionBar"> 
     <item name="android:background">#222222</item> 
     <item name="android:height">64dip</item> 
     <item name="background">#222222</item> 
     <item name="height">64dip</item> 
     <item name="android:titleTextStyle">@style/Theme.MyAppTheme.ActionBar.TitleTextStyle</item> 
     <item name="titleTextStyle">@style/Theme.MyAppTheme.ActionBar.TitleTextStyle</item> 
    </style> 

    <style name="Theme.MyAppTheme.ActionBar.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title"> 
     <item name="android:textColor">#fff</item> 
     <item name="android:textStyle">bold</item> 
     <item name="android:textSize">32sp</item> 
     <item name="textColor">#fff</item> 
     <item name="textStyle">bold</item> 
     <item name="textSize">32sp</item> 
    </style> 
İlgili konular