我是Android开发的初学者,所以请不要对我很难..
我正在尝试使用ActionBarCompact
,以便ActionBar可以兼容 API级别8 。我想要一个旋转器,它可以帮助我进行导航活动。所以我的问题是我怎么能拥有它?我是否需要设置一些标志或添加到操作栏?我找不到任何符合我需要的例子。
我试过的是:
Menu.m
public class menu extends ActionBarActivity {
ActionBar actionbar;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menutab);
actionbar = getSupportActionBar();
actionbar.setTitle("Menu");
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
//Now what should I do further?
}
}
menu.xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView android:text="menu tab!"
android:padding="15dip"
android:textSize="18sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
编辑@ Szymon的评论问题
我为微调器设计的自定义布局:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/simpleText"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee" />
以上用作:
ArrayAdapter<CharSequence> mSpinnerAdapter = ArrayAdapter.createFromResource(this,R.array.menu_items, R.id.simpleText);
actionbar.setListNavigationCallbacks(mSpinnerAdapter, this);
我会做很多错事。请帮助我纠正它们或指出我的好榜样......非常感谢。
答案 0 :(得分:1)
1)您还需要创建一个适配器:
ArrayAdapter<CharSequence> mSpinnerAdapter =
ArrayAdapter.createFromResource(this, R.array.verbTypes,
android.R.layout.simple_spinner_dropdown_item);
actionBar.setListNavigationCallbacks(mSpinnerAdapter, this);
2)并覆盖onNavigationItemSelected
@Override
public boolean onNavigationItemSelected(int arg0, long arg1) {
switch (arg0) {
case 0: // your code
case 1: // your code
}
return true;
}
3)您无需在菜单xml中声明任何内容。
4)但是要像我一样使用简单的微调器适配器,你应该声明你的字符串:
<string-array name="verbTypes">
<item>All</item>
<item>Irregular</item>
<item>Regular</item>
</string-array>