0

我是android开发的初学者,所以请不要对我太苛刻..

我正在尝试使用ActionBarCompact,以便 ActionBar 可以兼容API level 8。我想要一个微调器,它可以帮助我导航活动。所以我的问题是我怎样才能拥有它?我需要设置一些标志或添加到操作栏吗?我找不到任何适合我需要的例子。

我尝试过的是:

菜单.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?
    }
}

菜单.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);

会有很多事情我做错了。请帮助我纠正它们或指出我的好例子......非常感谢。

4

1 回答 1

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>
于 2013-09-16T11:26:53.620 回答