Android ActionBar (ActionBarCompat) Spinner 下拉列表 ?

标签 android android-actionbar android-actionbar-compat

我目前正在从事面向 ActionBar (ActionBarCompat) 的项目,我需要一些关于 actionbar 的说明。

我正在使用这样的微调器布局,

<Spinner 
        android:id="@+id/SpinnerList"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

我的代码,

public class MainActivity extends ActionBarActivity implements  OnItemSelectedListener{
    private boolean mAlternateTitle = false;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        ActionBar bar = getActionBar();
        bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);

        Spinner spinner = (Spinner) findViewById(R.id.SpinnerList);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.locations, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);
        spinner.setOnItemSelectedListener(this);
}
}

它在我的 android galaxy ace 中显示正常的微调器。我需要如下所示的输出, 那个位置是android 2.3。请给出建议。

enter image description here

谢谢。

最佳答案

试试这段代码。 在 menu/main.xml 中:

<item
    android:id="@+id/menu_spinner1"
    android:showAsAction="always"
    android:orderInCategory="1"
    android:actionViewClass="android.widget.Spinner" >

在 Activity 中:

private MenuItem mSpinnerItem1 = null;

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.


    MenuInflater mi=getMenuInflater();
    mi.inflate(R.menu.main, menu);
    mSpinnerItem1 = menu.findItem( R.id.menu_spinner1);
    View view1 = mSpinnerItem1.getActionView();
    if (view1 instanceof Spinner)
    {
        final Spinner spinner = (Spinner) view1;
        spinner.setAdapter(ad1);


        spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub

            }
        });

    }

    return true;
}

关于Android ActionBar (ActionBarCompat) Spinner 下拉列表 ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13526913/

相关文章:

Android - WebRTC : Video call live drawing

android - Android 中的 webStageView 本地 HTML 路径

java - 如何在不是 Activity 的布局上暂时隐藏操作栏

Android 4.3 菜单项 showAsAction ="always"被忽略

android - Unresolved reference : setSpan in Kotlin

java - 应用程序停止工作

android - 操作栏,带 ListView 的抽屉导航

Android ActionBar MenuItem 小写

java - 移除 actionbar appcompat 下方的阴影

Android ActionBarCompat 库