さて、フラグメントからアクションバーの中央にスピナーを追加する方法は?
私はすでにこれを行っています:
ActionBar メニューファイル: R.menu.tabmap
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_map_spinner"
android:showAsAction="always"
android:actionLayout="@layout/actionbar_spinner">
</item>
<item
android:id="@+id/action_map_more"
android:orderInCategory="100"
android:showAsAction="always|withText"
android:icon="@drawable/ic_setting"
android:title="@string/action_map_more"/>
</menu>
ActionBar スピナー ファイル: R.layout.actionbar_spinner
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center|top"
android:gravity="center"
android:orientation="vertical" >
<Spinner
android:id="@+id/actionbar_spinner_change_map"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center" />
</LinearLayout>
(Sherlock)Fragment では、次のようにしました。
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater){
inflater.inflate(R.menu.tabmap, menu);
Spinner spinner = (Spinner) menu.findItem(R.id.action_map_spinner).getActionView()
.findViewById(R.id.actionbar_spinner_change_map);
spinner.setAdapter(mSpinnerAdapter);
super.onCreateOptionsMenu(menu, inflater);
}
しかし、スピナーが中心にありません。