我正在嘗試設置動作條列表導航的樣式,使其在關閉狀態下具有白色文本。但是,當我這樣做時,它已將全部變爲白色,而白色下拉菜單不起作用。動作欄下拉菜單樣式
有沒有一種方法來分別設置每個樣式?該文檔是不存在的:(
我正在嘗試設置動作條列表導航的樣式,使其在關閉狀態下具有白色文本。但是,當我這樣做時,它已將全部變爲白色,而白色下拉菜單不起作用。動作欄下拉菜單樣式
有沒有一種方法來分別設置每個樣式?該文檔是不存在的:(
也許,你可以通過編程方式做到這一點(雖然我從來沒有嘗試過):
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menuId, menu);
menu.findItem(R.id.itemId).getActionView().setBackground(...)
}
添加自定義佈局爲您Adapter
在此我有。創建一個佈局裏面,我有添加一個TextView
與text color
和background color
,並設置atapter,如:。
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
getBaseContext(), R.layout.my_spinner_style, R.id.textView1,
COUNTRIES);
這裏
R.layout.my_spinner_style
是我的自定義佈局。
R.id.textView1
是來自my_spinner_style.xml
的textview ID。
您還可以在TextView中應用awn樣式。檢查this和this是理論上的。
檢查驗證碼:
內onCreate
:
/** Create an array adapter to populate dropdownlist */
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
getBaseContext(), R.layout.my_spinner_style, R.id.textView1,
COUNTRIES);
/** Enabling dropdown list navigation for the action bar */
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
/** Defining Navigation listener */
ActionBar.OnNavigationListener navigationListener = new OnNavigationListener() {
@Override
public boolean onNavigationItemSelected(int itemPosition,
long itemId) {
Toast.makeText(getBaseContext(),
"You selected : " + COUNTRIES[itemPosition],
Toast.LENGTH_SHORT).show();
return false;
}
};
/**
* Setting dropdown items and item navigation listener for the actionbar
*/
getActionBar().setListNavigationCallbacks(adapter, navigationListener);
my_spinner_style.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFF00" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
與我對另一個答案的評論類似,我並不試圖改變所有人的背景,我想根據狀態更改文本顏色,如圖片所示... – seanmonstar 2013-04-05 22:36:32
如果使用Adapter
(必須定義實現SpinnerAdapter
)您有兩個可以覆蓋的回調。 getView
將被稱爲「選定」項目。將調用getDropDownView
下拉項目。您可以在那裏設置不同的文字顏色。
我不需要更改背景。我想在每種狀態下設置文本顏色的樣式。 – seanmonstar 2013-04-05 22:29:19
將一個自定義actionView(setActionView)設置爲一個TextView(或內部具有TextView的佈局)。這是你如何控制文字的顏色。 – cyanide 2013-04-09 11:12:21