您可以通過在代碼中設置的自定義更改的ActionView特定動作欄項目的選擇:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.activity_main, menu);
MenuItem menuItem = menu.findItem(R.id.menu_include_location);
ImageView image = new ImageView(this);
image.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
image.setImageResource(R.drawable.ic_launcher);
image.setBackgroundResource(R.drawable.icon_place_selector);
image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// ...
}
});
menuItem.setActionView(image);
return true;
}
可以使用透明色爲icon_place_selector.xml按下狀態,
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Pressed -->
<item android:state_pressed="true" android:drawable="@android:color/transparent" />
</selector>
您需要更改style.xml樣式標籤的一個動作佈局:<項目名稱=「android:selectableItemBackground」> @ android:color/transparent –
@shylendra它可以只爲一個菜單而不是爲其他人完成嗎? –
@shylendra我添加了代碼(查看我的編輯),但我仍然得到藍色的光芒。 –