2012-01-04 14 views
23

Uygulamam için bir Actionbar_style.xml oluşturmak istiyorum ve uygulama logomdan/simgemden farklı bir logo kullanmak istiyorum.XML'de ActionBar için (Logo'dan farklı) özel Logo tanımlayın?

Programatik olarak nasıl değiştirileceği açıktır: Change logo that appears in Android ActionBar programatically Ancak bunun gibi her bir etkinliğe bunu kodlamalıyım.

Zaten xml'de özel bir Actionbarlogo tanımlamak için bir xml etiketi var mı?

Bunu, stil XML logosu stili yok

<style name="Widget.ActionBar"> 
    <item name="android:background">@android:drawable/action_bar_background</item> 
    <item name="android:displayOptions">useLogo|showHome|showTitle</item> 
    <item name="android:divider">@android:drawable/action_bar_divider</item> 
    <item name="android:height">?android:attr/actionBarSize</item> 
    <item name="android:paddingLeft">0dip</item> 
    <item name="android:paddingTop">0dip</item> 
    <item name="android:paddingRight">0dip</item> 
    <item name="android:paddingBottom">0dip</item> 
    <item name="android:titleTextStyle">@android:style/TextAppearance.Widget.ActionBar.Title</item> 
    <item name="android:subtitleTextStyle">@android:style/TextAppearance.Widget.ActionBar.Subtitle</item> 
    <item name="android:progressBarStyle">@android:style/Widget.ProgressBar.Horizontal</item> 
    <item name="android:indeterminateProgressStyle">@android:style/Widget.ProgressBar.Small</item> 
    <item name="android:homeLayout">@android:layout/action_bar_home</item> 
</style> 

cevap

2

android styles.xml ona sahip görünmemektedir

<style name="CustomActionBar0" parent="android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:background">@drawable/action_bg0</item> 
</style> 

..., sadece kullanmak benim Customstyles.xml Manifest'inizde android:logo, setDisplayUseLogoEnabled() kullanın ve ActionBar'da ayarlayın. İşte, Google'dan, ikisi arasında nasıl geçiş yapacağınızı gösteren bir proje var. http://code.google.com/p/styled-action-bar/

+0

Hayır, eylem çubuğunun stili uygulanır, eylem çubuğunun arka planı değiştirilir. İstediğim, XML bildirgesiyle ev logosunu değiştirmek. Programatik olarak bunu Actionbar.setLogo() ile yapabilirim. Ama bunu XML ile nasıl yapacağımı anlayamıyorum. – KarlKarlsom

+0

@KarlKarlsom Orijinal yazımı güncelledim, bu karışıklık için üzgünüm. – adneal

+1

Ama android: logo diğer iksirlerde de kullanılıyor (örneğin 4.0'da bir görev simgesi). Ama eylem çubuğunda, logo olarak uygun olmayan bir grafik istiyorum. – KarlKarlsom

1

Hareket çubuğu için özel bir düzen kullanmanız gerektiği gibi, böylece logo görüntüsü için istediğinizi tanımlayabilirsiniz. icon özelliğini

<style name="AppTheme" parent="@android:style/Theme.Holo.Light"> 
     <item name="android:actionBarStyle">@style/AppTheme.ActionBarStyle</item> 
</style> 

<style name="AppTheme.ActionBarStyle" parent="android:style/Widget.Holo.Light.ActionBar"> 
     <item name="android:background">@drawable/actionbar_background</item> 
     <item name="android:titleTextStyle">@style/AppTheme.ActionBar.TitleTextStyle</item> 
     <item name="android:icon">@drawable/ic_home</item> 
     <item name="android:indeterminateProgressStyle">@style/IndeterminateProgress</item> 
</style> 
36

Sadece android için bir değer ayarlamak özel logolu, özel düzen düzeni @

<style name="ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse"> 
    <item name="displayOptions">showCustom</item> 
    <item name="android:displayOptions">showCustom</item> 

    <item name="customNavigationLayout">@layout/action_bar_home_icon_default</item> 
    <item name="android:customNavigationLayout">@layout/action_bar_home_icon_default</item> 
    </style> 

İşlem çubuğu/ActionBarSherlock tarzıdır Evet. Farklı etkinlikler için farklı logolar ayarlayabilirsiniz. İşte bildirim dosyasındaki örnek kod.

<activity 
    android:name="MyActivity" 
    ***android:icon="@drawable/logo"***    
    android:label="@string/app_name" 
    android:configChanges="orientation"   
    android:screenOrientation="portrait" /> 

Bu yardımı umarım. Şerefe!

+11

Çalışmıyor – Programmer

+0

güncelleştirilmiş bir yanıt almaktan memnun olur. – nickfox

-1

:

/action_bar_home_icon_default

İlgili konular