2017-07-21 4 views
9

गूगल क्रोम की तरह पहली पंक्ति में क्षैतिज गठबंधन मेनू आइटम बनाने के लिए कैसेकैसे संरेखित करने के लिए मेनू आइटम क्षैतिज

enter image description here

मैं एक मेनू बच्चे के साथ पहला आइटम बनाया है, लेकिन इस तरह से मैं एक पंक्ति है कि मुझे दूसरे मेनू में भेजें, तो मेनू फ़ाइल का उपयोग करके ऐसा कैसे करें?

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 

    <group android:id="@+id/toolbar_menu" 
     android:visible="true"> 
    <item 
     android:id="@+id/item_tabs" 
     android:icon="@drawable/ic_tabs_24dp" 
     android:title="@null" 
     app:showAsAction="always"/> 
    <item 
     android:id="@+id/icon_row_menu_id" 
     android:title="@null" 
     android:visible="true"> 
     <menu> 
      <item 
       android:id="@+id/item_back" 
       android:icon="@drawable/ic_arrow_back_24dp" 
       android:title="@string/go_back" /> 
      <item 
       android:id="@+id/item_forward" 
       android:icon="@drawable/ic_arrow_forward_24dp" 
       android:title="@string/go_forward" /> 
      <item 
       android:id="@+id/item_bookmark_page" 
       android:icon="@drawable/ic_star_border_24dp" 
       android:title="@string/bookmark_this_page" /> 
      <item 
       android:id="@+id/item_download_page" 
       android:icon="@drawable/ic_download_24dp" 
       android:title="@string/download_page" /> 
      <item 
       android:id="@+id/item_info" 
       android:icon="@drawable/ic_info_outline_24dp" 
       android:title="@string/view_site_information" /> 
     </menu> 
    </item> 
    <item 
     android:id="@+id/item_new_tab" 
     android:title="@string/new_tab" /> 
    <item 
     android:id="@+id/item_new_incognito_tab" 
     android:title="@string/new_incognito_tab" /> 
    <item 
     android:id="@+id/item_bookmarks" 
     android:title="@string/bookmarks" /> 
    <item 
     android:id="@+id/item_history" 
     android:title="@string/history" /> 
    <item 
     android:id="@+id/item_downloads" 
     android:title="@string/download" /> 
    <item 
     android:id="@+id/item_settings" 
     android:title="@string/settings" /> 
    </group> 
</menu> 

और यहाँ मैं कैसे इसका इस्तेमाल:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    mainMenu = menu; 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.main_menu, menu); 
    return true; 
} 
+0

http://www.viralandroid.com/2016/01/android-custom-horizontal-icons-menu.html –

+0

लेकिन इस उदाहरण में उन्होंने मेनू फ़ाइल –

+0

का उपयोग नहीं किया था, क्या आपने आइकन

उत्तर

0

आप

की तरह आइटम टैग की app:actionLayout="@layout/layout_name" संपत्ति का उपयोग कर सकते मैं संवाद का उपयोग करने के

यहाँ मेरी मेनू फ़ाइल है नहीं करना चाहती

<item 
android:id="@+id/menu_id" 
android:title="@string/title" 
app:showAsAction="never" 
app:actionLayout="@layout/layout_name"/> 

और आपकी layout_name कोई लेआउट फ़ाइल है जैसे

<LinearLayout 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

// यहाँ क्षैतिज मेनू आइटम

</LineearLayout> 

जोड़ सकते हैं और आप इस मद

@Override  
    public boolean onPrepareOptionsMenu(Menu menu) 
    { 
    MenuItem item = menu.findItem(R.id.menu_id); 
    Linearlayout rootView = (LinearLayout)item.getActionView(); 
    YourControlClass control = (YourControlClass) 
    rootView.findViewById(R.id.control_id);  
    return true;  
    }  
+1

एक ही समस्या कुछ भी नहीं परिवर्तन –

+0

आप मेनू आइटम में एक क्षैतिज लेआउट का इस्तेमाल किया है निश्चित रूप से – Anil

+0

हाँ मैं –

0

आप भी पॉपअप विंडो के साथ कोशिश कर सकते हैं यह आप कोड ऊपर जाँच में मदद मिल सकती उपयोग कर सकते हैं

popup.xml लेआउट फ़ाइल मेनू नहीं,

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       android:background="@color/cardview_light_background" 
       android:layout_margin="20dp"> 

    <LinearLayout 
     android:layout_margin="5dp" 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     //your images with horizontal 

    </LinearLayout> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_margin="5dp" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     // your vertical list view 
    </LinearLayout> 
</LinearLayout> 

और आप onClick लिए निम्न कोड जोड़ें कर सकते हैं() विधि:

LayoutInflater layoutInflater 
         = (LayoutInflater) context 
         .getSystemService(LAYOUT_INFLATER_SERVICE); 

       final View popupView = layoutInflater.inflate(R.layout.popup, null); 
       final PopupWindow popupWindow = new PopupWindow(
         popupView, 
         ActionMenuView.LayoutParams.WRAP_CONTENT, 
         ActionMenuView.LayoutParams.WRAP_CONTENT, true); 

       popupWindow.setOutsideTouchable(true); 
       popupWindow.setFocusable(true); 


       popupWindow.setBackgroundDrawable(new BitmapDrawable()); 

       View parent = view.getRootView(); 

       popupWindow.showAtLocation(parent, Gravity.TOP|Gravity.END,0,0); 
+1

मैंने पहले ही कहा है कि मैं संवाद या पॉपअपविंडो नहीं चाहता हूं, मैं इसे मेनू फ़ाइल –

+1

@AmineHarbaoui के साथ बनाना चाहता हूं, आप अपने ओवरफ़्लो मेनू आइटम के लिए कस्टम दृश्य नहीं रख सकते हैं, इसलिए क्रोम मानक एक्शन बार का उपयोग नहीं कर रहा है।यह अजीब बात है कि Google अपने मानक उपकरण का भी उपयोग नहीं करता है जो इसे हर किसी के लिए उपयोग करने के लिए धक्का देता है, लेकिन यह वही है। –

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