我正在使用ActionBar开发Android Honeycomb。我通过以下方式设置了ActionBar:
// Configures the action bar
private void configureActionBar() {
mActionBar = getActionBar();
mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
SpinnerAdapter spinnerAdapter = ArrayAdapter.createFromResource(this, R.array.rooms, android.R.layout.simple_spinner_dropdown_item);
ActionBar.OnNavigationListener navigationCallback = new ActionBar.OnNavigationListener() {
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
String[] rooms = getResources().getStringArray(R.array.rooms);
mAppState.setCurrentRoom(rooms[itemPosition]);
return false;
}
};
mActionBar.setListNavigationCallbacks(spinnerAdapter, navigationCallback);
}
下图显示了ActionBar的一部分屏幕截图。我想设置下拉列表的样式,但我不知道该怎么做。这个link有一些XML样本,但我不知道如何应用它们以及如何设置下面指出的特定元素的样式。
以下是我想要做出的更改列表:
有没有人对如何做到这一点有任何想法?
谢谢!
答案 0 :(得分:3)
我找到了如何设置列表中的项目以及显示的项目的样式。解决方案涉及在/ res / layout目录中创建两个布局xml文件 - 一个用于微调器下拉项,另一个用于选择器(显示的项)。然后我就可以将视图资源添加到ArrayAdapter。
R.layout.spinner_dropdown_text_view:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/spinnerDropdownTextView"
android:layout_width="match_parent"
android:layout_height="50dp"
android:paddingLeft="10dp"
android:gravity="center_vertical"
android:textSize="18dp" />
R.layout.spinner_selector_text_view:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/spinnerSelectorTextView"
android:layout_width="210dp"
android:layout_height="match_parent"
android:paddingTop="12dp"
android:textSize="18dp"
android:textColor="@android:color/black" />
ArrayAdapter代码:
ArrayAdapter<CharSequence> aa = ArrayAdapter.createFromResource(this, R.array.rooms, R.layout.spinner_selector_text_view);
aa.setDropDownViewResource(R.layout.spinner_dropdown_text_view);
结果:
不幸的是,我无法弄清楚如何添加单选按钮,或者如何删除任何水平线。