2012-05-10 19 views
6

मेरे पास मेरे फॉर्म पर एक एक्शनबारशेल है। मैं रनटाइम पर शैली की जानकारी पढ़ रहा हूं। शैली के टुकड़ों में से एक एक्शनबार का पृष्ठभूमि रंग है। रनटाइम पर मैं इसे कैसे बदल सकता हूं? रंग कोई आरजीबी मूल्य हो सकता है।एक्शनबैरशेलॉक के पृष्ठभूमि रंग को प्रोग्रामेटिक रूप से बदलें

+0

इसे देखें http://stackoverflow.com/questions/10064411/change-actionbarsherlock-background-color – sonida

उत्तर

8

हो सकता है कि इस मदद: के माध्यम से शैली या getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.ad_action_bar_gradient_bak)); के माध्यम से How to set title color in ActionBarSherlock? प्रोग्राम के रूप में

विषय

// add theme in app 
<application android:theme="@style/MainTheme"></application> 

// MainTheme 
<style name="MainTheme" parent="Theme.Sherlock.Light.DarkActionBar">  
</style> 

// MainThemeGreen 
<style name="MainThemeGreen" parent="Theme.Sherlock.Light.DarkActionBar"> 
    <item name="android:actionBarStyle">@style/MainTheme.ActionBarStyle</item>   
</style> 

// ActionBar 
<style name="MainTheme.ActionBarStyle" parent="Widget.Sherlock.Light.ActionBar"> 
    <item name="android:background">@drawable/bg_green_actionbar</item> 
    <item name="android:titleTextStyle">@style/MainTheme.ActionBar.TitleTextStyle</item> 
</style> 

// Text style 
<style name="MainTheme.ActionBar.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title"> 
    <item name="android:textColor">@color/White</item> 
</style> 

// bg_green_actionbar.xml 
<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <shape> 
      <solid android:color="#ff74af3b" /> 
     </shape> 
    </item> 
</layer-list> 

इस के बाद आप मक्खी पर विषय को बदल सकते हैं के साथ : setTheme (R.styles.MainThemeGreen);

+0

आप अभी भी स्थानीय ड्रॉ करने योग्य संसाधन निर्दिष्ट कर रहे हैं। मुझे किसी वेब रंग से मुझे प्रस्तुत किए गए किसी भी रंग के लिए ऐसा करने की ज़रूरत है। –

+0

मैं आपका नया संपादन देखता हूं लेकिन मैं इसका अनुसरण नहीं कर रहा हूं कि यह कैसे मदद करता है। ऐप शुरू होने के बाद, मैं एक वेब सेवा कहता हूं और यह एक रंग देता है। कहें कि यह # 123456 है। मैं इसे अपने हार्ड कोड # FF74af3b पर कैसे लागू करूं? –

6

एक ही रास्ता:

mSupportActionBar = getSupportActionBar(); 
mSupportActionBar.setBackgroundDrawable(new ColorDrawable(0xff123456)); 

जहां 0xff123456 अपने आवश्यक ARGB पूर्णांक है।

5

मैं सिर्फ कोड

getSupportActionBar().setBackgroundDrawable(new 
    ColorDrawable(Color.parseColor("#00853c"))); 

नीचे इस्तेमाल किया यह bg रंग बदल दिया है। आशा करता हूँ की ये काम करेगा।

संबंधित मुद्दे