2012-02-13 18 views
13

बनाने के बजाय सीमा तक पहुंचने पर एक्शनबार स्क्रॉल पर टैब बनाएं, जैसा कि शीर्षक से पता चलता है, मेरे पास एंड्रॉइड 4.0 टैबलेट ऐप है, जो एक्शनबार और टैब मोड का उपयोग करता है।ड्रॉपडाउन-सूची

यदि मैं एक्शन बार में 4 या 5 से अधिक टैब जोड़ता हूं, तो इसके बजाय एक ड्रॉपडाउन सूची बनाई जाती है। मैंने प्रलेखन पढ़ा है, जिसमें कहा गया है, "नोट: कुछ मामलों में, एंड्रॉइड सिस्टम एक्शन बार में सर्वोत्तम फिट सुनिश्चित करने के लिए आपके एक्शन बार टैब को ड्रॉप-डाउन सूची के रूप में दिखाएगा।"

क्या सोच रहा था कि डिफ़ॉल्ट व्यवहार को ओवरराइड करना और आइटम को स्क्रॉल करने के लिए एक्शनबार प्राप्त करना संभव है? डिज़ाइन दस्तावेज़ http://developer.android.com/design/patterns/actionbar.html स्क्रॉल करने योग्य टैब के बारे में वार्तालाप करता है, लेकिन मुझे डिज़ाइन दस्तावेज़ के अलावा अन्य पर कोई जानकारी नहीं मिल रही है।

+0

मैंने कुछ और खुदाई की है: http://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby = और सॉर्ट = और आईडी = 24439 और ऐसा लगता है कि यह संभव नहीं है। अब वैकल्पिक दृष्टिकोण की तलाश – JamesSugrue

उत्तर

10

मैं इसे काम करने के लिए संघर्ष कर रहा हूं। हालांकि, एक्शनबैरशेलॉक के साथ खेलने के बाद, समाधान क्रूरता से आसान है।आप नमूना स्टाइल स्रोत डाउनलोड करने और MainActivity कक्षा में देखो, तो आप इसे बनाने के देख सकते हैं और टैब जोड़ सकते हैं, और कहा कि नीचे:

actionBar.setDisplayShowTitleEnabled(false); 
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

मैं टैब जोड़ने से पहले इन बुलाया था, और मेरे टैब कर दिया गया था एक ड्रॉप-डाउन सूची में। बाहर निकलता है, आपको स्क्रॉलिंग टैब रखने के बजाय टैब जोड़ने के बाद उन्हें कॉल करने की आवश्यकता होती है।

+0

उत्तर के बाद मैं जवाब नहीं था, लेकिन अब यह प्रतीत होता है, यह वही करने का एकमात्र तरीका है जो मैं चाहता था। – JamesSugrue

+1

मेरे लिए काम नहीं किया। मैं अभी भी टैब के बजाय ड्रॉपडाउन सूची देखता हूं। –

0

क्या आपने एसडीके में हनीकॉम गैलरी नमूना ऐप की जांच की है? यह हो सकता है कि आप जो खोज रहे हैं। स्क्रॉल करने योग्य टैब देखने के लिए इसे आईसीएस गैर-टैबलेट डिवाइस पर इंस्टॉल करें। स्क्रॉल करने के लिए टैबलेट में बहुत अधिक स्क्रीन स्पेस है।

http://developer.android.com/resources/samples/HoneycombGallery/index.html

+1

मैं इसे टैबलेट पर भी स्क्रॉल करना चाहता हूं - मैंने उपर्युक्त प्रोजेक्ट में 5 और टैब जोड़े और यह मेनू में भी घुल गया। पिटा – JamesSugrue

2

पढ़ें http://developer.android.com/guide/topics/ui/actionbar.html

एक कार्रवाई देखने से अनुभाग "एक कार्य दृश्य जोड़ना" एक विजेट है कि एक कार्रवाई आइटम के बटन के लिए एक विकल्प के रूप में कार्रवाई पट्टी में दिखाई देता है।

आप public boolean onCreateOptionsMenu(Menu menu)

में इस HorizontalScrollView को

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:id="@+id/mytabwidget" 
     android:title="" 
     android:icon="@drawable/ic_launcher" 
     android:showAsAction="always" 
     android:actionViewClass="android.widget.HorizontalScrollView" /> 
</menu> 

प्राप्त संदर्भ का उल्लेख करके कार्रवाई दृश्य के रूप में HorizontalScrollView उपयोग कर सकते हैं कुछ RadioButton के साथ एक RadioGroup परिभाषित जहां प्रत्येक RadioButton जब चयनित, उसके संबंधित टैब अद्यतन करेगा सामग्री। अब इस RadioGroup जो आप में public boolean onCreateOptionsMenu(Menu menu)

आप selectTab(ActionBar.Tab tab) या कुछ अन्य समकक्ष विधि का उपयोग कर सकते हैं टैब सामग्री अद्यतन करने के लिए मिल जाएगा HorizontalScrollView में जोड़ें।

आप पारदर्शी छवि को android:button स्थापित करने और फिर कुछ StateListDrawable की स्थापना राज्यों के साथ की जाँच की, का चयन किया है और सामान्य से RadioButton के रूप को बदलने सकते हैं ..

स्क्रीन नीचे देखें मैं इस पद्धति का उपयोग किया गया।

enter image description here

ऊपर छवि में, प्रत्येक RadioButton जब जाँच की, अलग टैब का चयन करता है।

-1

यूआई एक कारण के लिए जिस तरह से काम करता है। टैब के एक स्क्रॉल करने योग्य सेट के लिए यह बेहद भ्रमित है। एक अच्छा मौका है कि यह स्पष्ट नहीं होगा कि दाईं ओर अधिक टैब उपलब्ध हैं, और उपयोगकर्ता कभी नहीं जान पाएंगे कि वे अधिक सुविधाओं के लिए टैब को स्क्रॉल कर सकते हैं।

मैं सलाह देता हूं कि मंच को काम करने के लिए कैसे डिजाइन किया गया है। यह आम तौर पर एक कारण के लिए चीजें करता है।

+5

आप एंड्रॉइड डिज़ाइन पृष्ठों के प्रभारी उन लोगों को इंगित करना चाहेंगे, फिर, [वे "एक्शन बार" से संबंधित "स्क्रॉल करने योग्य टैब" के रूप में वर्णन करते हैं] (http://developer.android.com/design /patterns/actionbar.html) न तो हैं। वे जो वर्णन करते हैं वह 'व्यूपागर' और कुछ शीर्षक पट्टी दिखाई देता है जो एसडीके में मौजूद नहीं है (चूंकि 'पेजर टिटलेस्ट्रिप' केवल प्रदर्शित होता है और इसलिए इसे वास्तव में "टैब" नहीं माना जा सकता है)। डेवलपर्स को डिज़ाइन दिशानिर्देश दिए जाने के लिए निराशाजनक है कि Google स्वयं से सहमत नहीं है (यहां आपके उत्तर के अनुसार) और/या एसडीके द्वारा समर्थित नहीं हैं। – CommonsWare

+2

एंड्रॉइड डिज़ाइन दस्तावेज़ से लिया गया, "यदि आपके पास बड़ी संख्या में विचार हैं तो स्क्रोल करने योग्य टैब का उपयोग करें ..." मेरे दृष्टिकोण से, जिस ऐप को हम बना रहे हैं, उसमें टैब की संख्या बहुत भ्रमित नहीं है । निश्चित रूप से एक "खुले" मंच में, यह डेवलपर पर होना चाहिए कि वह अपने ऐप के लिए उपयुक्त है, न कि ओएस। हमारा ऐप एक लंबवत है जिसे कभी भी अनचाहे उपयोगकर्ताओं द्वारा उपयोग नहीं किया जाएगा। – JamesSugrue

+2

इसके अलावा, स्क्रॉलिंग टैब स्क्रॉलिंग सूची की तुलना में और अधिक भ्रमित कैसे है जिसे हमें आसपास के काम के रूप में लागू करना है? यह स्पष्ट नहीं है कि सूची में अंतिम आइटम के तहत उनकी चीजें हैं। – JamesSugrue