0
首先,我設置了動作條代碼。 (使用默認的系統動作條,安卓4.2+)ToggleButtons作爲actionBar自定義視圖行爲怪異。
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.listing_group, menu);
MenuItem listItem = menu.findItem(R.id.action_list);
ToggleButton customActionIcon = (ToggleButton) getLayoutInflater().inflate(R.layout.custom_action_bar_icon_view, null);
listItem.setActionView(customActionIcon);
customActionIcon.setTextOff("LIST");
customActionIcon.setTextOn("LIST");
customActionIcon.setTypeface(OswaldRegular());
customActionIcon= (ToggleButton)getLayoutInflater().inflate(R.layout.custom_action_bar_icon_view, null);
customActionIcon.setTextOff("MAP");
customActionIcon.setTextOn("MAP");
customActionIcon.setTypeface(OswaldRegular());
MenuItem mapItem = menu.findItem(R.id.action_map);
mapItem.setActionView(customActionIcon);
return super.onCreateOptionsMenu(menu);
}
的菜單佈局XML:自定義動作條按鈕
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_list"
android:showAsAction="always"
/>
<item
android:id="@+id/action_map"
android:showAsAction="always"/>
</menu>
佈局的xml:
<?xml version="1.0" encoding="utf-8"?>
<ToggleButton xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/action_bar_toggle_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:background="@color/transparent"
android:textColor="@drawable/listing_group_activity_actionbar_text_color_selector">
</ToggleButton>
問題:
當與此動作條第一負載屏幕s,這兩個按鈕都顯示爲取消選擇的顏色,但它們都顯示默認文本「關」。當我點擊其中的一個時,它們正確地更改顏色,並將文本更改爲我在onCreateOptionsMenu()中設置的文本。即一個變成LIST,一個變成MAP。然後他們繼續保持這種方式,並像普通的ToggleButtons一樣運作。我希望他們從顯示正確的文本開始,並在此之後修復,我希望默認情況下選擇其中一個。
對此事的任何幫助,非常感謝!謝謝!