2015-06-10 7 views
5

मैं एंड्रॉइड डिज़ाइन समर्थन लाइब्रेरी और टूलबार से नेविगेशन व्यू का उपयोग कर रहा हूं और सबकुछ ठीक काम करता है, लेकिन मैं जानना चाहता हूं कि हैमबर्गर आइकन को अंधेरा कैसे बनाया जाए (अभी यह सफेद दिखाई देता है)। इसके अलावा मैं स्क्रीन एज से एक्शनबार शीर्षक तक दूरी समायोजित करना चाहता हूं। फिर मेरे द्वारा इसे कैसे किया जाएगा? मदद के लिए धन्यवाद।मैं एक्शनबार हैमबर्गर आइकन का रंग कैसे बदलूं?

मैं विषय के रूप में थीम सेट करता हूं। AppCompat.Light.NoActionBar। तो मैं टूलबार का उपयोग करता हूं।

public class MainActivity extends AppCompatActivity { 

//Defining Variables 
private Toolbar toolbar; 
private NavigationView navigationView; 
private DrawerLayout drawerLayout; 
ViewPager pager; 
ViewPagerAdapter adapter; 
SlidingTabLayout tabs; 
CharSequence Titles[]={"Песни","Исполнители"}; 
int Numboftabs =2; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    // Initializing Toolbar and setting it as the actionbar 
    toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

और एक्सएमएल:

<android.support.v4.widget.DrawerLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/drawer" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="false" 
tools:context=".MainActivity"> 

<LinearLayout 
    android:layout_height="match_parent" 
    android:layout_width="match_parent" 
    android:orientation="vertical" 
    > 
    <include 
     android:id="@+id/toolbar" 
     layout="@layout/tool_bar" 
     /> 

    <ru.amdm.amdm.SlidingTabLayout 
     android:id="@+id/tabs" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:elevation="2dp" 
     android:background="@color/ColorPrimary"/> 

    <FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:foreground="?android:windowContentOverlay"> 

     <android.support.v4.view.ViewPager 
      android:id="@+id/pager" 

      android:layout_height="match_parent" 
      android:layout_width="match_parent"/> 
    </FrameLayout> 

</LinearLayout> 

<android.support.design.widget.NavigationView 
    android:id="@+id/navigation_view" 
    android:layout_height="match_parent" 
    android:layout_width="wrap_content" 
    android:layout_gravity="start" 
    app:headerLayout="@layout/header" 
    app:menu="@menu/drawer" 
    /> 

+0

क्या आप केवल एक्शनबार या टूलबार का उपयोग कर रहे हैं? कृपया अपना वर्तमान कोड पोस्ट करें। – hungryghost

+0

@ हंगरीघोस्ट आपके संपादन के लिए धन्यवाद! – AlexKost

उत्तर

7

हैमबर्गर चिह्न बदलने के लिए, बस एक नए प्रतीक बनाने के (जैसे ic_my_dark_menu) फिर अपने कार्रवाई बार है कि आवंटित: यहाँ मेरी कोड है

actionBar.setHomeAsUpIndicator(R.drawable.ic_my_dark_menu); 

या, आप tint अपने मौजूदा आइकन कर सकते हैं, अगर आप इसे ऐसा करना चाहते हैं ay:

Drawable drawable = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_menu, null); 
drawable = DrawableCompat.wrap(drawable); 
DrawableCompat.setTint(drawable, Color.BLACK); 
actionBar.setHomeAsUpIndicator(drawable); 

अपनी कार्रवाई बार शीर्षक और धार के बीच स्थान की मात्रा बदलने के लिए, बस अपने टूलबार लेआउट (res/लेआउट/tool_bar.xml) संपादित करें। उदाहरण के लिए, अगर आप इस तरह गद्दी जोड़ सकते हैं:

रेस/लेआउट/tool_bar.xlml

<android.support.v7.widget.Toolbar 
    ... 
    android:paddingTop="16dp" /> 
+0

इस हैमबर्गर आइकन के स्रोत को खोजने के लिए मैं support.design लाइब्रेरी से कैसे ब्राउज़ कर सकता हूं? 'क्योंकि मुझे लगता है कि यह आइकन उपस्थिति का प्रबंधन करता है। या हो सकता है कि उस आइकन को कॉन्फ़िगर करने के लिए कुछ विधि या xml विशेषता हो? – AlexKost

+0

जैसा कि मैंने अपने उत्तर में बताया है, हैमबर्गर आइकन 'actionBar.setHomeAsUpIndicator() 'के साथ सेट है। उस विधि के साथ, आप हैम्बर्गर आइकन के रूप में उपयोग करने के लिए आकर्षित करने योग्य निर्दिष्ट करते हैं। वह आइकन का स्रोत है। यदि आप आइकन को और कॉन्फ़िगर करना चाहते हैं, तो आप मेरे उत्तर में पहले से पोस्ट किए गए कोड के साथ ऐसा कर सकते हैं। – hungryghost

+0

धन्यवाद! यह बढ़िया काम करता है। इसके अलावा मुझे ऐसा करने का एक और आसान तरीका मिला - एंड्रॉइड के रूप में टूलबार का थीम सेट करें: थीम = "@ स्टाइल/थीमऑवरले.एप कॉम्पैक्ट.लाइट" – AlexKost

0

हो सकता है आप इस ..Apply टूलबार को इस विषय की कोशिश करने के लिए है ...

<style name="MyThemeOverlay"> 
    <item name="android:colorControlNormal">@color/myControlColor</item> 
</style> 
+1

यह केवल एपीआई स्तर 21 में काम करता है। मेरा वर्तमान मिनट 15 – AlexKost

+2

@AlexKost है, 'एंड्रॉइड के बजाय 'colorControlNormal' का उपयोग करें: colorControlNormal '। यह एपकोपेट के लिए निचले एपीआई स्तर के धन्यवाद के साथ संगत है –

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