我已经编写了一个代码,可以使用自定义视图在操作栏上添加两个微调器。它会好的,但是左边会添加一个额外的微调器。不知道为什么?请帮忙。
这是img:
mActionBar = getActionBar();
mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
mActionBar.setCustomView(R.layout.action_bar);
mActionBar.setDisplayShowTitleEnabled(false);
mActionBar.setDisplayShowCustomEnabled(true);
mActionBar.setDisplayUseLogoEnabled(false);
mActionBar.setDisplayShowHomeEnabled(false);
spinnerAdapter = ArrayAdapter.createFromResource(this, R.array.list, android.R.layout.simple_dropdown_item_1line);
((Spinner)mActionBar.getCustomView().findViewById(R.id.action_bar_spinner_collection_detail)).setAdapter(spinnerAdapter);
((Spinner)mActionBar.getCustomView().findViewById(R.id.action_bar_spinner_collection_detail1)).setAdapter(spinnerAdapter);
我的xml文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2">
<Spinner
android:id="@+id/action_bar_spinner_collection_detail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
>
</Spinner>
<Spinner
android:id="@+id/action_bar_spinner_collection_detail1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
</Spinner>
</LinearLayout>
提前致谢。
[1]: http://i.stack.imgur.com/GRtiQ.png
答案 0 :(得分:0)
正因为如此。
您的操作栏导航模式设置为LIST_NAVIGATION
mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
这是导航的微调器
你还要求Windows功能 - 自定义标题吗?
答案 1 :(得分:0)
请从XML文件的线性布局中删除android:weightSum = "2"
答案 2 :(得分:0)
ActionBar.NAVIGATION_MODE_LIST
gives you a free spinner that is of no use to you.
(unless you have only one!, even then it has a hidden id).
NEVER use ActionBar.NAVIGATION_MODE_LIST or onNavigationItemSelected (witch only operates on the LAST entrty)
use:
final ActionBar bar = getActionBar();
bar.setDisplayShowCustomEnabled(true);
bar.setCustomView(R.layout.action_bar_custom);
定义所有的微调器。