작업 표시 줄에 드롭 다운 항목을 추가하는 방법
내 Android Honeycomb 애플리케이션에서 탭을 탐색 스타일로 사용합니다. 오버플로 버튼 옆에 하나의 항목을 추가하고 싶지만 해당 항목을 드롭 다운 목록으로 만들고 사용자가 여기에서 옵션을 선택할 수 있지만 탐색과는 관련이 없습니다. 내가 사용하고 있기 때문에 가장 쉬운 방법은 무엇입니까mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
사용자 정의보기를 사용하지 않고 수행 할 수 있습니까?
첫 번째 옵션 :
menu / options.xml :
<item
android:icon="@drawable/ic_menu_sort"
android:showAsAction="ifRoom">
<menu>
<item
android:id="@+id/menuSortNewest"
android:title="Sort by newest" />
<item
android:id="@+id/menuSortRating"
android:title="Sort by rating" />
</menu>
</item>
두 번째 옵션 :
menu / options.xml :
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menuSort"
android:showAsAction="ifRoom"
android:actionLayout="@layout/action_sort" />
</menu>
레이아웃 /action_sort.xml :
<Spinner xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_menu_refresh"
android:entries="@array/order" />
메뉴 리소스 용 문서-http: //developer.android.com/guide/topics/resources/menu-resource.html
지금까지 찾은 가장 좋고 가장 간단한 대답은 여기에 있습니다 .
기본적으로이 경우 사용자 지정 레이아웃이 필요하지 않습니다. actonViewClass를 설정하십시오.
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/spinner"
yourapp:showAsAction="ifRoom"
yourapp:actionViewClass="android.widget.Spinner" /> <== this is all that's required
</menu>
그런 다음 평소와 같이 onCreateOptionsMenu에서 처리합니다.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_layout, menu);
MenuItem item = menu.findItem(R.id.spinner);
Spinner spinner = (Spinner) MenuItemCompat.getActionView(item); // get the spinner
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(onItemSelectedListener);
This is by far the simplest and cleanest solution. Credits to François Poyer, the original author.
It will work as dropdown only
<?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">
<!--<item-->
<!--android:id="@+id/save_contact"-->
<!--android:icon="@drawable/edit_new"-->
<!--android:title="Save Contact"-->
<!--app:showAsAction="never" />-->
<item
android:id="@+id/send_money"
android:icon="@drawable/edit_new"
android:title="Send Money"
app:showAsAction="never" />
<item
android:id="@+id/request_money"
android:icon="@drawable/edit_new"
android:title="Request money"
app:showAsAction="never" />
<item
android:id="@+id/recharge"
android:icon="@drawable/edit_new"
android:title="Recharge"
app:showAsAction="never" />
</menu>
inside fragment
setHasOptionsMenu(true)
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.chat_details_menu, menu);
super.onCreateOptionsMenu(menu, inflater);
}
참고URL : https://stackoverflow.com/questions/8312344/how-to-add-a-dropdown-item-on-the-action-bar
'IT박스' 카테고리의 다른 글
? : ?? (0) | 2020.09.23 |
---|---|
콜론 (:) 연산자는 무엇을합니까? (0) | 2020.09.23 |
파이썬은 한 목록에서 다른 목록에없는 요소를 찾습니다. (0) | 2020.09.23 |
Maven 어셈블리 플러그인에서 생성 한 전쟁 이름을 어떻게 변경할 수 있습니까? (0) | 2020.09.23 |
Msysgit bash는 Windows 7에서 끔찍하게 느립니다. (0) | 2020.09.22 |