2013-03-14 1 views
3

ActionBarSherlock의 도움으로 Android 2.3 앱에 옵션 메뉴를 구현하려고합니다. 그러나 display.Here는 옵션 메뉴에 대한 간단한 XML 레이아웃 파일 "breadcrumb_bar_menu"입니다하지 않습니다ActionBarSherlock에서 옵션 메뉴를 만들 수 없습니다.

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:id="@+id/inbox" 
     android:icon="@drawable/topbar_btn_inbox"  
     android:title= "@string/about" />  

<item android:id="@+id/sent" 
     android:icon="@drawable/topbar_sent"  
     android:title="@string/about" />  
    </menu> 

그리고 여기 내 활동 SherlockActivity에서 상속 :

public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getSupportMenuInflater(); 
    inflater.inflate(R.menu.breadcrumb_bar_menu, menu); 
    return true; 
} 

하지만 난 볼 수 없습니다 활동의 옵션 메뉴. 내가 뭘 잘못하고 있니?

+0

안드로이드 OS의 버전에 앱을 테스트하고 있습니까? 하드웨어 메뉴 버튼이 있습니까? –

+0

@ShajeelAfzal 제 질문을주의 깊게 읽으십시오. 나는 버전에 대해 말했다. – MainstreamDeveloper00

답변

3

메뉴 xml 항목의 속성에 android:showAsAction="ifRoom"을 포함하십시오.

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:id="@+id/inbox" 
     android:showAsAction="ifRoom" 
     android:icon="@drawable/topbar_btn_inbox"  
     android:title= "@string/about" />  

    <item android:id="@+id/sent" 
     android:showAsAction="ifRoom" 
     android:icon="@drawable/topbar_sent"  
     android:title="@string/about" />  
</menu> 
0

해당 사항에 대한 navigationmode를 설정해야합니다. 또한 기기에 하드 메뉴 키가있는 경우 그렇다면 메뉴 옵션의 세 점이 표시되지 않습니다.

+1

어떻게해야합니까? – MainstreamDeveloper00

0

당신은 당신이 메뉴를 사용하게 될 그 시스템을 알려줄 필요가 :

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setHasOptionsMenu(true); 
} 
1
public boolean onCreateOptionsMenu(Menu menu) { 
    // TODO Auto-generated method stub 
    com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater(); 
    inflater.inflate(R.menu.actionoption, menu); 
    return true; 
} 
0

이 optionmenu 다른 API의 ActionBarSherlock의 를 사용하여> 2.3.3에로 일하려면 나는 다음 않았다

메뉴 파일 :

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:id="@+id/navigateMenu" 
android:icon="@drawable/icon" 
android:title="Menu" 
android:orderInCategory:"9" 
android:showAsAction="always" 
android:titleCondensed="Menu"> 
<menu> 
<item android:id="@+id/id1" 
android:icon="@drawable/option1" 
android:title="option1" /> 
<item android:id="@+id/id2" 
android:icon="@drawable/option2" 
android:title="option2" /> 
<item android:id="@+id/id3" 
android:icon="@drawable/option3" 
android:title="option3" /> 
</menu> 
</item> 
</menu> 
동일한에 대한 코드를 부모의 MenuItem의 기준을 가지고 첨부 SHOW_AS_ACTION_ALWAYS 속성을 사용하여 액션 바 할 참조 : 당신의 활동 코드

활동 파일 :

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.sample_menu, menu); 

//To make optionmenu visible on Actionbar for 2.3.3 

menu.findItem(R.id.navigateMenu).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS) 
     return true; 
    } 
+0

이것은 trcik를했다. .. 건배 ... !!!! –

관련 문제