2013-01-03 36 views
6

Sau khi giới thiệu nhiều hướng dẫn, tôi biết rằng thay vì Menu, chúng có ActionBar cho > API 10. Nhưng tôi đang sử dụng API 7 sdk cho thử nghiệm của mình, tôi đã sử dụng Menus để hiển thị văn bản với drawable images. Nhưng chỉ có văn bản đang đến và hình ảnh biểu tượng có thể kéo được không hiển thị trong tùy chọn trình đơn. Xin hãy giúp tôi giải quyết vấn đề này.Tùy chọn menu trong android

My XML:

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

    <!-- 
      Single menu item 
      Set id, icon and Title for each menu item 
    --> 
    <item 
     android:id="@+id/savedstory" 
     android:background="#000000" 
     android:minHeight="20dp" 
     android:title="Saved Stories"/> 
    <item 
     android:id="@+id/setting" 
     android:background="#000000" 
     android:minHeight="20dp" 
     android:title="Settings"/> 
    <item 
     android:id="@+id/Bookmark" 
     android:background="#000000" 
     android:minHeight="20dp" 
     android:title="Bookmark This"/> 
    <item 
     android:id="@+id/share" 
     android:background="#000000" 
     android:minHeight="20dp" 
     android:title="Share This"/> 
    <item 
     android:id="@+id/save" 
     android:background="#000000" 
     android:minHeight="20dp" 
     android:title="Save This"/> 
    <item 
     android:id="@+id/small" 
     android:icon="@drawable/font3" 
     android:minHeight="20dp"> 
This icon is not showing. 
      /> 
     <item 
      android:id="@+id/medium" 
      android:background="#ffffff" 
      android:minHeight="20dp" 
      android:title="Medium font"/> 
     <item 
      android:id="@+id/big" 
      android:background="#000000" 
      android:minHeight="20dp" 
      android:title="Big font"/> 
    </item> 

</menu> 

đang lạm phát của tôi:

public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater menuInflater = getMenuInflater(); 
    menuInflater.inflate(R.menu.newsdescriptionmenu, menu); 
    return true; 
} 

Trả lời

2

Nếu bạn tham khảo Menu documentation "

Tùy chọn menu: Các menu biểu tượng không hỗ trợ kiểm tra mục nhãn hiệu và chỉ sh nợ tiêu đề cô đọng của món đồ. Các menu được mở rộng (chỉ có sẵn nếu có thể hiển thị sáu mục trình đơn trở lên thông qua mục 'Thêm' trong trình đơn biểu tượng) không hiển thị biểu tượng mục và dấu kiểm mục là không khuyến khích.

Vì tôi không thể thấy cách bạn thổi phồng (tùy chọn, vv) menu của bạn, tôi chỉ có thể giả định rằng bạn không thấy biểu tượng của mục này vì nó là mục thứ sáu và nhấn vào menu mở rộng sau 'Thêm'.

+0

Cảm ơn Marcin Gil..I đã cập nhật bài của tôi với mã lạm phát .. – Subburaj

+0

vâng tôi đã nhận nó ..In mở rộng các mục chỉ có văn bản sẽ đến không phải là biểu tượng..Am i right.Thanks rất nhiều ... – Subburaj

2

Vui lòng kiểm tra đoạn mã sau.

menu.xml

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

    <item 
     android:id="@+id/Menu1" 
     android:orderInCategory="1" 
     android:title="Menu 1"/> 
    <item 
     android:id="@+id/Menu2" 
     android:orderInCategory="2" 
     android:title="Menu 2"/> 
    <item 
     android:id="@+id/Menu3" 
     android:orderInCategory="3" 
     android:title="Menu 3"/> 
    <item 
     android:id="@+id/submenu" 
     android:orderInCategory="4" 
     android:title="Sub menu"> 
     <menu> 
      <item 
       android:id="@+id/submenu1" 
       android:title="Sub menu 1"/> 
      <item 
       android:id="@+id/submenu2" 
       android:title="Sub menu 2"/> 
     </menu> 
    </item> 

</menu> 

Thêm những dòng này trong bạn Activity Class

public class MenuActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    } 
    public boolean onCreateOptionsMenu(Menu menu) { 
    new MenuInflater(getApplication()).inflate(R.menu.menu, menu); 
    return(super.onPrepareOptionsMenu(menu)); 
    } 

    public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case R.id.Menu1: 
     Toast.makeText(this, "Menu 1", Toast.LENGTH_SHORT).show(); 
    break; 
    case R.id.Menu2: 
     Toast.makeText(this, "Menu 2", Toast.LENGTH_SHORT).show(); 
    break; 
    case R.id.Menu3: 
     Toast.makeText(this, "Menu 3", Toast.LENGTH_SHORT).show(); 
    break; 
    case R.id.submenu: 
     Toast.makeText(this, "Sub menu", Toast.LENGTH_SHORT).show(); 
    break; 
    } 
    return(super.onOptionsItemSelected(item)); 
} 
} 
+0

+1 dành thời gian cho tôi .. Cảm ơn .. – Subburaj

+0

nếu bạn sử dụng mã ở trên, bạn có thể đặt các mục có thể chia sẻ – itsrajesh4uguys

Các vấn đề liên quan