如何在操作栏中向微调器添加字幕 [英] How to add subtitle to spinner in the action bar

查看:80
本文介绍了如何在操作栏中向微调器添加字幕的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下内容

我正在使用操作栏和微调器,但想要添加类似于City字幕的字幕=>全部,City 1,City 2

I am using action bar and spinner but what I want to do to add a subtitle to be like City subtitles => All , City 1 , City 2

喜欢这张图片

我有以下菜单xml文件

I have the following menu xml file

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

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

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

</menu>

以及活动"中的

 public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);

        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.search_menu, menu);
        mSpinnerItem1 = menu.findItem(R.id.filter1);
        mSpinnerItem2 = menu.findItem(R.id.filter2);

        setupSearchView();
        View view1 = mSpinnerItem1.getActionView();
        if (view1 instanceof Spinner) {
            Spinner spinner = (Spinner) view1;
            ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.filters, android.R.layout.simple_spinner_dropdown_item);
            spinner.setAdapter(adapter);
            spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                public void onItemSelected(AdapterView<?> arg0, View arg1,
                                           int arg2, long arg3) {
                    mDbHelper.open();
                    showResults();
                }

                public void onNothingSelected(AdapterView<?> arg0) {

                }
            });

        }

        View view2 = mSpinnerItem2.getActionView();
        if (view2 instanceof Spinner) {
            Spinner spinner = (Spinner) view2;
            ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.cities, android.R.layout.simple_spinner_dropdown_item);
            spinner.setAdapter(adapter);
            spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                public void onItemSelected(AdapterView<?> arg0, View arg1,
                                           int arg2, long arg3) {

                    mDbHelper.open();
                    showResults();

                }

                public void onNothingSelected(AdapterView<?> arg0) {

                }
            });

        }
        return true;
    }

推荐答案

我们可以通过其他方式实现此功能.

We can achieve this functionality in different way.

custom_toolbar.xml

<android.support.v7.widget.Toolbar>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
             .... For Title
        />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:gravity="center_vertical"
            android:orientation="horizontal">

            <TextView
              ....//For Select things...
            />

            <ImageView
                .... down arrow image
            />
        </LinearLayout>
    </LinearLayout>
</android.support.v7.widget.Toolbar>

用于添加 mainlayout.xml

 <include
   android:id="@+id/toolbar"
   layout="@layout/custom_toolbar" />

活动

 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
   if (toolbar != null) {
       setSupportActionBar(toolbar);
   }

和textView的getClick事件,并使用setSingleChoiceItems

And getClick event of textView and Open AlertDialog with setSingleChoiceItems

这篇关于如何在操作栏中向微调器添加字幕的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆