android एंड्रॉइड में ActionbarSherlock और जेरेमीफीनस्टिन स्लाइडिंगमेन का उपयोग करके एक्शनबार अनुकूलित करें




android-actionbar android-xml (3)

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

ध्यान दें:

  1. मैं एंड्रॉइडSupport.v4.widget.DrawerLayout , ActionBarDrawerToggle का उपयोग नहीं करना चाहता। मुझे शर्लक स्लाइड प्रभाव की आवश्यकता है
  2. मुझे मेन्यू विकल्पों की सूची के ऊपर एक छवि और लेबल की आवश्यकता है (LISTVIEW) (सही चित्र देखें)।

भविष्य में मुझे नीचे की तरह एक बार की आवश्यकता होगी (शैली को इस लिंक को देखने के समान होना चाहिए)


साइडमेन मेनू लेआउट:

आपको मेनू लेआउट के रूप में एक ListView सेट करना चाहिए। इसके आगे, sliding_menu_header.xml लेआउट, जिसमें sliding_menu_header.xml और sliding_menu_header.xml साथ होता है:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="vertical" >

    <ImageView
            android:src="@drawable/image_source"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

    <TextView
            android:text="text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

</LinearLayout>

अब, आप इस लेआउट को फुला सकते हैं और उसे ListView के हैडर ListView रूप में सेट कर सकते हैं:

View menuHeader = getLayoutInflater().inflate(R.layout.sliding_menu_header, null);
mListView.addHeaderView(menuHeader);
mListView.setAdapter(mYourMenuAdapter);

एक्शनबार लेआउट:

आप ActionBar एक कस्टम दृश्य जोड़ सकते हैं आपके मामले में लेआउट की तरह हो सकता है:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="horizontal" >

    <Button
            android:id="@+id/button1"
            android:text="button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

    <Button
            android:id="@+id/button2"
            android:text="button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

</LinearLayout>

फिर अपने onCreate विधि में नीचे पंक्ति जोड़ें:

ActionBar actionBar = getSupportActionBar();
actionBar.setCustomView(R.layout.actionbar_view);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM
        | ActionBar.DISPLAY_SHOW_HOME);

Button button1 = actionBar.getCustomView.findViewById(R.id.button1);
Button button2 = actionBar.getCustomView.findViewById(R.id.button2);

आशा है कि यह आपकी मददगार होगा अगर मेरा जवाब अधूरा है तो कृपया टिप्पणी करें और मैं इसे अपडेट कर दूंगा।


आपकी तस्वीर से आप तेजी से एक्शनबार स्क्रॉल करना चाहते हैं। यह संभव नहीं है (मेरी जानकारी के लिए) काम करने के लिए कुछ ऐसा करने के लिए आपको अपना कस्टम कार्यपट्टी (सामान्य लेआउट के रूप में) करना होगा और दृश्यता परिवर्तन को संभालना होगा और अपने आप से स्क्रॉल करना होगा आप actionbar_compat (appcompat_v7) देख सकते हैं अगर मूल रूप से ActionbarSherlock और SlidingMenu संयुक्त के रूप में एक ही कार्यक्षमता प्रदान करता है http://android-developers.blogspot.ro/2013/08/actionbarcompat-and-io-2013-app-source.html । और मेनू में हीटरोजीनस आइटम शामिल हो सकते हैं, अगर यह आपकी चिंता है


"स्लाइडिंग मेनू" को लागू करें यह शर्लक एक्शनबार के साथ एकदम सही है

लिंक लाइब्रेरी

https://github.com/jfeinstein10/SlidingMenu

दो पुस्तकालयों को लागू करने के लिए वीडियो ट्यूटोरियल

https://www.youtube.com/watch?v=IW6idyV0CZQ

संपादित करें

//pre-ICS
if (actionBarSherlock instanceof ActionBarImpl) {
    enableEmbeddedTabs(actionBarSherlock);

//ICS and forward
} else if (actionBarSherlock instanceof ActionBarWrapper) {
    try {
        Field actionBarField = actionBarSherlock.getClass().getDeclaredField("mActionBar");
        actionBarField.setAccessible(true);
        enableEmbeddedTabs(actionBarField.get(actionBarSherlock));
    } catch (Exception e) {
        Log.e(TAG, "Error enabling embedded tabs", e);
    }
}

//helper method
private void enableEmbeddedTabs(Object actionBar) {
    try {
        Method setHasEmbeddedTabsMethod = actionBar.getClass().getDeclaredMethod("setHasEmbeddedTabs", boolean.class);
        setHasEmbeddedTabsMethod.setAccessible(true);
        setHasEmbeddedTabsMethod.invoke(actionBar, true);
    } catch (Exception e) {
        Log.e(TAG, "Error marking actionbar embedded", e);
    }
}

उस लिंक को देखें:

https://groups.google.com/forum/#!topic/actionbarsherlock/hmmB1JqDeCk

जब आप अपने ऐक्शन बार पर टैब्स रखते थे, तो आप अपने टैब, सीमा, पृष्ठभूमि, गुरुत्वाकर्षण के लिए एक शैली बना सकते हैं और आप बटन उपस्थिति देते हैं।

देखो:

http://www.silverbaytech.com/2013/05/13/themes-for-the-android-actionbar-tabs/

इसे आज़माएं और हमें बताएं





android-xml