2017-11-27 26 views
0

하위 메뉴의 항목 그룹에 제목을 추가하고 싶습니다. 숨겨진 하위 메뉴를 사용하고 싶지 않고 클릭시 열어서 메뉴 항목의 제목을 구현하고 싶습니다.하위 메뉴가 아닌 PopupMenu에서 그룹에 제목을 추가하는 방법

enter image description here

하지만이처럼 구현하려는 : 그래서 지금 내 메뉴는 다음과 같습니다

enter image description here

이제 내 XML이 보인다, 그러나 중첩 된 하위 메뉴를 사용하고 :

<?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/group_1" 
    android:checkableBehavior="single" 
    > 

     <item 
      android:id="@+id/apps_sort_title" 
      android:title="@string/apps_sort_title" 
      app:showAsAction="ifRoom" 
     /> 

     <item 
      android:id="@+id/apps_sort_date" 
      android:title="@string/apps_sort_date" 
      app:showAsAction="ifRoom" 
     /> 

     <item 
      android:id="@+id/apps_sort_size" 
      android:title="@string/apps_sort_size" 
      app:showAsAction="ifRoom" 
     /> 

    </group> 

    <item android:title="@string/title_order"> 

     <menu> 

      <group 
      android:id="@+id/group_2" 
      android:checkableBehavior="single" 
      > 

       <item 
       android:id="@+id/apps_sort_asc" 
       android:title="@string/sort_asc" 
       app:showAsAction="ifRoom" 
       /> 

       <item 
       android:id="@+id/apps_sort_desc" 
       android:title="@string/sort_desc" 
       app:showAsAction="ifRoom" 
       /> 

      </group> 

     </menu> 

    </item> 

</menu> 

미리 감사드립니다.

+0

최신 코드 구현 화면을 공유하십시오 – Kuls

+0

@KulsDroid XML로 간단하게 만들었습니다. – Acuna

+0

장치에서 실행할 수 있으며 메뉴가 표시되고 화면 캡처 – Kuls

답변

2

그룹에 줄을 설정하면 메뉴 XML을 이와 같이 구현해야합니다.

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<group 
    android:id="@+id/gp1" 
    android:checkableBehavior="single" 
    android:visible="true"> 
    <item android:title="Group Title"> 
    <menu> 
    <item 
     android:id="@+id/group_item_one" 
     android:title="Item one"/> 
    <item 
     android:id="@+id/group_item_two" 
     android:title="Item two"/> 
    <item 
     android:id="@+id/group_item_three" 
     android:title="Item three"/> 
    </menu> 
    </item> 
</group> 
<group 
    android:id="@+id/gp2" 
    android:checkableBehavior="single"> 
    <item 
     android:id="@+id/group_two_item_one" 
     android:title="Item one"/> 
</group> 

마지막 I는 onPrepareOptionsMenu() 메소드에 전달 메뉴 오브젝트의 setGroupVisible() 메소드를 사용하는데 필요한 용액을 알았다.

menu.setGroupVisible(R.id.gp1, false); 

해피 코딩 !!

+0

고맙지 만 gp1 아직 숨겨져 있으며 클릭만으로 열립니다. – Acuna

+0

@Acuna 코드를 업데이트합니다. 확인하십시오. –

+0

아직 중첩되어 있습니다 (다시 스크린 샷을 만들었습니다. 지금 모습과 필요한 모습을 보여줍니다.) – Acuna