4

我正在使用ActionBar處理Android蜂窩。我已經按以下方式設置了ActionBar:如何在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樣本,但我不知道如何應用它們以及如何樣式化下面指出的特定元素。

ActionBar Dropdown List for Styling

這裏的變化列表,我想提出:

  1. 更改所選項目的字體大小相匹配的話「經理室」
  2. 刪除顯示所選項目下方的灰線
  3. 刪除下拉列表頂部的藍線
  4. 將單選按鈕添加到列表項目和檢查在下拉列表中
  5. 更改分離列表項
  6. 線的顏色當前選定的項目

有沒有人對如何做到這一點任何想法?

謝謝!

+0

你怎麼把欄放在ActionBar的右邊? – cheloncio 2014-01-30 22:32:27

回答

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); 

其結果是:

The result

不幸的是,我無法弄清楚如何添加單選按鈕,或者如何刪除任何水平線。

相關問題