2012-09-20 2 views
1

\ XML 폴더 아래 xml에 정의 된 안드로이드 옵션 메뉴를 사용하고 있습니다. 메뉴에는 5 개의 항목이 있으며 두 줄의 레이아웃에 표시됩니다. 상단 줄에는 2 개의 항목이 있고 하단에는 나머지 3 개의 항목이 있습니다.안드로이드 옵션 메뉴 레이아웃 변경

상단 행에 3 개의 항목이 있고 하단 줄에 다른 2 개의 항목이 포함되도록 메뉴를 구성하는 방법이 있습니까?

감사합니다.

답변

0

메뉴 항목을 한 그룹에 넣으면 함께 유지하려고합니다. 메뉴 항목의 순서를 제어하려면 XML을 사용하지 말고 활동에 메뉴를 만들 때 더 좋습니다. 활동에서이 같은 그룹 뭔가 메뉴 항목을 얻을 수 있습니다 :

@Override 
     public boolean onCreateOptionsMenu(Menu menu) 
     { 
     int group1Id = 1; 

     int Id1 = Menu.FIRST; 
     int Id2 = Menu.FIRST +1; 
     int Id3 = Menu.FIRST +2; 

      super.onCreateOptionsMenu(menu); 

       menu.add(group1Id, Id1, 1, "Option 1"); 
       menu.add(group1Id, Id2, 2, "Option 2"); 
       menu.add(group1Id, Id3, 3, "Option 3"); 
         return true; 
      }  

     @Override 
     public boolean onOptionsItemSelected(MenuItem item) { 
      super.onOptionsItemSelected(item); 

      switch (item.getItemId()) { 
      case 1:  //for option 1 


       return true; 
      case 2:  //for option 2 

       return true; 
      case 3:  //for option 3 


       return true;  
        default: 
       return false; 
      } 

매개 변수 : 의 groupId이 항목의 일부가되어야 그룹 식별자입니다.

itemId 고유 항목 ID. 고유 ID가 필요하지 않으면 NONE을 사용하십시오.

주문 항목의 순서. 주문을 염려하지 않으면 NONE을 사용하십시오.

제목 항목에 대해 표시 할 텍스트입니다.

반품 : 새로 추가 된 메뉴 항목.

+0

을 사용할 수 있습니다 메뉴 xml에 그룹을 정의하려고 시도했으나 항목 표시가 변경되지 않았습니다. 코드를 작성하여 변경하면 궁금합니다. – Shlomi

0

우리는 예를 들어 옵션 메뉴 에 대해 서로 다른 레이아웃을 사용할 수 있습니다 : -

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:id="@+id/menuRefresh" 
    android:icon="@drawable/ic_menu_refresh" 
    android:title="Refresh" 
     android:showAsAction = "always"/> 
<item android:id="@+id/menuAbout" 
    android:icon="@drawable/ic_menu_info_details" 
    android:title="About" 
    android:showAsAction = "always"/> 
</menu> 

당신은 항상 "결코" "withtext" "ifRoom" "" "collapseActionView"나는 ' or you can read out full details here