如何在Android应用程序的操作栏中设置微调器?

时间:2013-11-15 13:29:09

标签: android android-actionbar uinavigationbar android-spinner

我正在为我的应用程序使用操作栏。我正在这样的设备中预览

enter image description here

我的旋转器没有正确设置。我在菜单中添加了按钮作为项目。我的代码在这里...... http://pastie.org/8482541

当我在我的设备中运行时,它只会显示不同的内容。

enter image description here

我该怎么做?有谁能够帮我?提前谢谢。

2 个答案:

答案 0 :(得分:0)

为您想要的每个菜单项尝试这样

@Override
 public boolean onPrepareOptionsMenu(Menu menu) {
      MenuItem item = menu.findItem(R.id.item1);
      item.getActionView().setBackgroundDrawable(new ColorDrawable(/*some color you need */));

      return super.onPrepareOptionsMenu(menu);
 }

使用此自定义菜单

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
         <item android:id="@id/item1"
            android:showAsAction="always"
            android:actionLayout="@layout/action_text"/>
    </menu>

答案 1 :(得分:0)

使用此:

您需要按一个按钮并将任何图像设置为其背景。然后单击按钮调用Spinner.performClick()以打开微调器。

下面是实现相同功能的代码。在xml文件中:

 <Button
    android:id="@+id/font"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:layout_marginLeft="50dp"
    android:layout_weight="0.5"
    android:background="@drawable/textsel" /> 

 <Spinner
    android:id="@+id/spin"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:layout_marginLeft="10dp"
    android:layout_weight="0.5"
    android:dropDownHorizontalOffset="0dp"
    android:dropDownVerticalOffset="20dp"
    android:dropDownWidth="500dp"
    android:paddingTop="2sp"
    android:spinnerMode="dropdown" >
</Spinner>

在Java类中:

  Spinner spin = (Spinner) findViewById(R.id.spin);

  Button typetext = (Button) findViewById(R.id.font);      


  typetext.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {

        spin.performClick();

    }
});