2012-04-14 16 views
11

मैं अपने स्वयं के प्रोजेक्ट पर एक्शनबार कॉम्पैप का उपयोग करने की कोशिश कर रहा हूं। मैंने पहले ही नमूना प्रोजेक्ट खोला है (http://developer.android.com/resources/samples/ActionBarCompat/index.html), लेकिन मुझे नहीं पता कि इसे अपने आप कैसे कार्यान्वित किया जाए।एक्शनबैर कॉम्पैट - इसका उपयोग कैसे करें

मुझे किसी प्रकार का कोई ट्यूटोरियल नहीं मिल रहा है। क्या मुझे इस परियोजना को लाइब्रेरी के रूप में बनाना चाहिए? क्या कोई मुझे कुछ दिशा दे सकता है, कृपया।

+1

मैं ActionBarSherlock के लिए चला गया द्वारा ब्लॉग पोस्ट ... –

+0

ऐसा लगता है कि पिछले साल कुछ समय लगता है, Google ने अपने एक्शनबार कॉम्पैप नमूने (और हर दूसरे नमूना) के ऑनलाइन संस्करण को हटा दिया है। क्या एक अद्यतन लिंक के लिए लिंक करने के लिए कहीं भी है? –

उत्तर

22

कार्यान्वयन के लिए, बस MainActivity.java कक्षा के तहत प्रदान किए गए नमूना कोड से चिपके रहें। आप इसे here या <your local android-sdks folder>/samples/android-15/ActionBarCompat/src/com/example/android/actionbarcompat/MainActivity.java के तहत पा सकते हैं। सामान्य तौर पर, तुम सब करने की जरूरत है निम्नलिखित:

  1. कोड एक मेनू संसाधन जहां कार्रवाई बार के लिए आइटम की घोषणा
  2. कोड एक गतिविधि है कि फैली ActionBarActivity
  3. अवहेलना onCreateOptionsMenu() तो (http://developer.android.com/resources/samples/ActionBarCompat/res/menu/main.html देखें) यह चरण # 1
  4. onOptionsItemSelected() ओवरराइड करने वाले मेनू को फुलाता है ताकि आप ईवेंट को संभाल सकें जब उपयोगकर्ता चरण # 1 में परिभाषित एक्शनबार आइटमों में से किसी एक को टैप करता है।

मुझे लगता है कि एक्शनबैर कॉम्पैप कोड से एंड्रॉइड लाइब्रेरी प्रोजेक्ट बनाने के लिए यह समझ में आता है; तो आप इसे अपने कस्टम एंड्रॉइड प्रोजेक्ट से संदर्भित कर सकते हैं। याद रखें कि यह अपाचे लाइसेंस, संस्करण 2.0 के तहत लाइसेंस प्राप्त है।

+0

पॉइंट टू द डू-लिस्ट! धन्यवाद मैंने आपकी सूची का पालन किया है, जैसा कि आपने अनुशंसित किया है, एक लाइब्रेरी प्रोजेक्ट होने के लिए ActionBarCompat सेट करें। सब कुछ काम किया, लेकिन ऐप लोगो। यह हमेशा एक्शनबार कॉम्पैप ऐप का लोगो था जब तक मुझे पता चला कि यह एक्शनबैर कॉम्पैक्ट में आईसी_होम (.png) नामक हार्ड-कोडेड है (इस प्रकार) मैं सूची में एक अतिरिक्त बिंदु जोड़ूंगा: 5. आइकन बनाएं आईसी-होम (.png)
Addi

+0

एंड्रेस के साथ आपके प्रोजेक्ट के "ड्रॉइंग" फ़ोल्डर्स में एंड्रेस मैं इसे लाइब्रेरी में कैसे बना सकता हूं?इसके बारे में लिंक अब टूटा हुआ है। कोई संकेतक? – StuStirling

+0

@ डिस्को 2 यदि आप इसे पुस्तकालय में बनाना चाहते हैं, तो आपको इसे आईडीई में लाइब्रेरी के रूप में नामित करना होगा। ग्रहण में आप प्रोजेक्ट सेटिंग्स> एंड्रॉइड पर जाते हैं, नीचे स्क्रॉल करें और 'लाइब्रेरी' जांचें। IntelliJ में, आप मॉड्यूल को लाइब्रेरी के रूप में नामित करते हैं। –

9

यह उत्तर वर्णन करता है कि नई ActionBarCompat लाइब्रेरी (जुलाई 2013) का उपयोग कैसे करें।

एंड्रॉयड स्टूडियो, खुले build.gradle में हैं और इस जोड़ें:

dependencies { 
    compile 'com.android.support:appcompat-v7:18.0.+' 
} 

में ग्रहण, sdk\extras\android\support\v7\appcompat में एक library project कोड के आधार पर बना सकते हैं और अपनी परियोजना में जोड़ें।

क्रियाकलापों को ActionBarActivity का विस्तार करना होगा।

<activity android:theme="@style/Theme.AppCompat.Light" ... /> 

स्रोत::

import android.support.v4.view.MenuItemCompat; 
import android.support.v7.app.ActionBarActivity; 
import android.support.v7.widget.SearchView; 
import android.support.v7.app.ActionBar; 
import android.view.Menu; 
import android.view.MenuItem; 

public class MainActivity extends ActionBarActivity { 

    ActionBar ab; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     ab = getSupportActionBar(); 
     ab.setTitle("Test"); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.main, menu); 

     MenuItem searchItem = menu.findItem(R.id.action_search); 
     SearchView searchView = 
        (SearchView) MenuItemCompat.getActionView(searchItem); 

     return super.onCreateOptionsMenu(menu); 
    } 
} 

विषय होने के लिए (या विस्तार) Theme.AppCompat विषयों में से एक, उदाहरण के लिए How to add ActionBarCompat to your project, गैब्रिएल Mariotti

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