दिलचस्प पोस्ट
क्या एक "variableName;" सी ++ कथन सभी समय में एक नो-ऑप होगा? क्या कोई यह बता सकता है कि BCrypt एक हैश कैसे सत्यापित करता है? आपकी सामग्री में एक ListView होना चाहिए जिसका आईडी विशेषता 'android.r.id.list' है क्या यह प्रोग्राम सी ++ में आईफोन में संभव है सीएसएस में आईडी और वर्ग के बीच का अंतर और इसका इस्तेमाल कब करना mysql डेटा निर्देशिका स्थान Com.google.android.gms play-services-auth को हल करने में विफल: 11.4.0 IPhone पर एक 3D मॉडल प्रदर्शित करना चाहते हैं: आरंभ करने के लिए कैसे? int.Parse, इनपुट स्ट्रिंग एक सही प्रारूप में नहीं था आवरण का उपयोग करते समय, प्रवेश करने के लिए Log4Net के लिए कक्षा और विधि का नाम कैसे संरक्षित किया जाए? रनटाइम के exec () विधि आउटपुट को पुन: निर्देशित नहीं कर रही है रेजर के दृश्यों में प्रतीक्षा का उपयोग करें आईओएस में आवेदन कब शुरू किया जाता है, तो कैसे SQL डेटाबेस को कॉपी करना है? क्या मैं एचटीएमएल 5 में <select> फ़ील्ड में आवश्यक विशेषता को लागू कर सकता हूं? आवश्यकता के बीच अंतर क्या है ('mypackage.js') और ('mypackage') की आवश्यकता है?

बल में अतिरंजना मेनू ActionBarSherlock

मैं पूर्व आईसीएस उपकरणों (2.3 – 2.1) पर 4.0+ अतिप्रवाह मेनू का उपयोग करना चाहता हूं। मैं ActionBarSherlock के साथ HoloEverywhere का उपयोग कर रहा हूँ

मैंने निम्न समाधान की कोशिश की:

ActionBarSherlock और HoloEverywhere – अतिप्रवाह मजबूर?

लेकिन यह काम नहीं करता क्योंकि absForceOverflow मौजूद नहीं है क्या इसे नवीनतम संस्करण या कुछ में हटा दिया गया था? मैंने दोनों एबीएस और हे लाइब्रेरी परियोजनाओं की R फाइलों की जांच की है और क्षेत्र बस वहां नहीं है।

मेरा ऐप का विषय @style/Holo.Theme.Sherlock.Light सेट @style/Holo.Theme.Sherlock.Light और यही वह विषय है जिसे मैं से वारिस करने का प्रयास कर रहा था और absForceOverflow पैरामीटर को true सेट कर दिया।

Solutions Collecting From Web of "बल में अतिरंजना मेनू ActionBarSherlock"

यदि आप संस्करण 4.2.0 का प्रयोग कर रहे हैं, तो। .ForceOverflow थीम वास्तव में हटा दिए गए हैं।

स्रोत: संस्करण 4.2.0 चैंज

बदलें लॉग का अर्क

 Add SearchView widget for standard search interaction (API 8+ only) Fix: ShareActionProvider in the split action bar no longer fills the entire screen. Fix: ShareActionProvider now does file I/O on a background thread. Fix: Automatically correct ColorDrawable not respecting bounds when used as a stacked background. Fix: Ensure fragments collection is present before dispatching events. Fix: XML-defined onClick searches the correct context for the declared method. Fix: Ensure action mode start/finish callbacks are invoked on the activity for the native action bar. Fix: Allow tab callbacks to have a fragment transaction instance for any FragmentActivity. Fix: Ensure CollapsibleActionView callbacks are dispatched in both native and compatbility action bars. Fix: Remove .ForceOverflow themes. These never should have been included. 

अगर आपको अतिप्रवाह को बल देने की ज़रूरत है, तो आपको एबीएस के पहले संस्करण को डाउनलोड करना होगा। आप यहां उनके रिलीज इतिहास के अनुसार डाउनलोड की एक सूची प्राप्त कर सकते हैं: http://actionbarsherlock.com/download.html

मैं व्यक्तिगत रूप से अभी भी एबीएस संस्करण 4.1.0 का उपयोग करता हूं क्योंकि मैं वर्तमान में अपने ऐप में सहायक परिवर्तन करना नहीं चाहता हूं। मैं अपने theme.xml में भी इसका उपयोग करता हूं। theme.xml :

 <style name="MyTheme" parent="@style/Theme.Sherlock.ForceOverflow"> <item name="android:windowBackground">@color/background</item> <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item> <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item> </style> <style name="MyTheme.ForceOverflow"> <item name="absForceOverflow">true</item> </style> 

और manifest.xml में किसी Activity लिए थीम लागू करते समय, मैं इसका उपयोग विशेषता के रूप में करता हूं: "@style/Theme.SociallyYOU"

दोबारा, अगर आपको पूरी तरह से अतिप्रवाह होना चाहिए, तो आप यहां एक अन्य प्रश्न में कॉमन्सवर का विचार भी पढ़ सकते हैं: https://stackoverflow.com/a/12872537/450534

नोट: यह कहा जा रहा है, अगर व्यापार बंद महत्वपूर्ण नहीं हैं तो नवीनतम संस्करण का उपयोग करना हमेशा बेहतर होता है पोस्ट करने से मैं अतिप्रवाह मेनू को कैसे बल देता हूं, मैं न तो सुझाव देता हूं कि आप पुराने संस्करण का उपयोग करते हैं और न ही मैं यह सुझाता हूं। यह केवल आप संभावनाओं के बारे में सूचित कर रहा है

ActionbarSherlock 4.2 की शुरुआत से हमने अतिप्रवाह मेनू दृश्यता प्रबंधित करने की क्षमता खो दी है। इसे काम करने के लिए, आपको 2 दृष्टिकोणों को संयोजित करने की आवश्यकता है:

  1. Android 3.x (मधुकोश) और ऊपरी के लिए मेनू दृश्यता को मजबूर करने के लिए, आपको इस हैक का उपयोग करने की आवश्यकता है + एंड्रॉइड वर्ज़न चेक करें:

     public static final int DEVICE_VERSION = Build.VERSION.SDK_INT; public static final int DEVICE_HONEYCOMB = Build.VERSION_CODES.HONEYCOMB; if (DEVICE_VERSION >= DEVICE_HONEYCOMB) // Code from answer above 
  2. पूर्व-मधुकोश उपकरणों के लिए मेनू खोलें:

    • ओपन ActionBarSherlock/src/com/actionbarsherlock/internal/view/menu/ActionMenuPresenter.java , विधि reserveOverflow
    • इसके साथ मूल बदलें:

      सार्वजनिक स्थैतिक बूलियन रिजर्व ओवरफ्लो (संदर्भ संदर्भ) {वापस सत्य; }

    यह मेनू प्रदर्शित करने के लिए बाध्य होगा …

    • लेकिन जब मेनू बटन मेनू पॉपअप नहीं दिखा रहा है पर क्लिक करें। इसे प्राप्त करने के लिए हमें इसकी आवश्यकता आपकी कक्षा में ओवरराइड करना है:

       @Override public boolean onKeyUp(int keyCode, KeyEvent event) { if (DEVICE_VERSION < DEVICE_HONEYCOMB) { if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_MENU) { openOptionsMenu(); return true; } } return super.onKeyUp(keyCode, event); } 

इस क्रिया के बाद आपको सभी एंड्रॉइड संस्करणों के लिए अतिप्रवाह कार्रवाई बार मेनू का काम करना चाहिए था।

जैसा कि सिद्धार्थ लेले ने बताया है , यह वास्तविक एक्शन बार के समान व्यवहार करने के लिए पिछले एबीएस संस्करण में हटा दिया गया है। इसलिए इस मेनू को दिखाते हुए एक पहली नज़र में सबसे अच्छा विकल्प है I

हालांकि, अतिप्रवाह मेनू कुछ डिवाइस के लिए स्क्रीन में दिखा रहा है और दूसरों के लिए नहीं दिखा रहा है मेरी राय में एंड्रॉइड के एक्शन बार में एक बड़ा डिजाइन दोष है यहाँ पर क्यों:

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

इसके बारे में निहितार्थ को बेहतर ढंग से समझने के लिए, हम एक उदाहरण देखें: उपयोगकर्ता A में मेनू कुंजी वाला एक उपकरण है वह अपने पसंदीदा मेल क्लाइंट का उपयोग कर रहा है सामान्य विकल्पों (सहायता, के बारे में, आदि) के साथ, मेल खाते को कॉन्फ़िगर करने के लिए विकल्प अतिप्रवाह मेनू में रखा गया है। वह एक दूसरे खाते को जोड़ना चाहते हैं लेकिन उनके पास इस मेनू पर कैसे पहुंचने का कोई सुराग नहीं है स्क्रीन पर कोई जानकारी नहीं है जिससे उसे पता चल सके कि क्या करना है। इसलिए उपयोगकर्ता A अपने दोस्त B पूछता है, जो इस मेल क्लाइंट का उपयोग भी कर रहा है। उपयोगकर्ता B में नवीनतम Nexus N + 1 Googlephone है, और वह एक्शन बार में अतिप्रवाह आइकन देखने में सक्षम है क्योंकि उसकी डिवाइस में एचडब्ल्यू मेनू कुंजी नहीं है वह दिखाता है कि वह इस मेनू को खोलकर दूसरा खाता कैसे जोड़ सकता है। उपयोगकर्ता A पूरी तरह से भ्रमित है, क्योंकि वे एक ही ऐप संस्करण का उपयोग कर रहे हैं। निराश, A सोच सकता है कि समस्या अपने फोन में बहुत पुरानी होने के लिए है B भी अच्छी तरह से उलझन में है

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

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

कुछ इसी तरह वापस कुंजी के साथ होता है कुछ डिवाइस में एक एचडब्ल्यू बैक कुंजी हो सकती है, नए लोग आमतौर पर नहीं करते हैं। लेकिन जब भी हम अपने ऐप में वापस जा सकते हैं, हम हमेशा एक्शन जैसे एक्शन बटन में प्रदर्शित होते हैं, ठीक है? और हाँ, मुझे पता है कि एक बटन "नेविगेशन ट्री" में वापस नेविगेट करते हैं जबकि दूसरा "बैक इन टाइम" में जाता है, लेकिन यह एक और डिज़ाइन फॉल्ट भी है: मतलब यूजर के लिए, पीठ ही वापस है उनके पास स्क्रीन में यह बटन है और वह एचडब्ल्यू वन का उपयोग भी कर सकते हैं, लेकिन यह वैकल्पिक है। वही अतिप्रवाह मेनू के साथ किया जाना चाहिए था

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

  // For ActionBarSherlock abs__ic_menu_moreoverflow_normal_holo_dark.png abs__ic_menu_moreoverflow_normal_holo_light.png // For ActionBar ic_menu_moreoverflow_normal_holo_light.png ic_menu_moreoverflow_normal_holo_dark.png 

इसके अलावा: जाओ और अपने परियोजना Res फ़ोल्डर में छवियों को कॉपी-पेस्ट करें आप कभी भी यह नहीं जान सकते हैं कि एबीएस के भविष्य के रिलीज या एक्शनबार के अगले कार्यान्वयन में उन्हें शामिल किया जाएगा।

मुझे पता है कि एंड्रॉइड के साथ एक मेनू का उपयोग करें और एंड्रॉइड के साथ एक मेन्यू का उपयोग करें: showAsAction = "हमेशा" अतिप्रवाह मेनू बटन के रूप में। सभी के बाद, कार्यवाही के अतिप्रवाह मेनू के प्रभाव को इसके स्रोत से एहसास होता है, इसलिए हमें अपने स्वयं के प्रभाव का एहसास क्यों न करें, अगर यह बहुत ही परेशानी नहीं है। यदि आप चीनी समझते हैं, तो आप अपने ब्लॉग को भी देख सकते हैं

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/more" android:icon="@drawable/overflow" android:showAsAction="always" /> </menu> 

 private Dialog popupDialog; private Boolean popupState=false; public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: this.finish(); return true; case R.id.more: if (!popupState) { showPop(); }else { popupDialog.dismiss(); } default: return super.onOptionsItemSelected(item); } } private void showPop(){ LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(ResID, null); ListView listView = (ListView) view.findViewById(ResID); listView.setAdapter(yourOwnAdapter); popupDialog = new Dialog(WifiAuthWireActivity.this); popupDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); popupDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.WHITE)); popupDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); popupDialog.setContentView(view); // Calculate ActionBar height TypedValue tv = new TypedValue(); ActionBar maActionBar=getSupportActionBar(); int actionBarHeight=maActionBar.getHeight(); if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) { actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics()); } WindowManager.LayoutParams wmlp = popupDialog.getWindow().getAttributes(); wmlp.gravity = Gravity.TOP | Gravity.RIGHT; wmlp.x+=12; wmlp.y+=actionBarHeight; popupDialog.getWindow().setAttributes(wmlp); popupDialog.show(); }