Erm而不是使用切换按钮我可以在应用栏中切换图标吗?
就像当我在应用栏中按下我的图标时,它会变为其他图标
这是我的menu_main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="course.examples.healthcare_application.MainActivity">
<item
android:id="@+id/action_settings"
android:orderInCategory="1"
android:title="@string/action_settings"
app:showAsAction="never" />
<!--lower value will be on the left-->
<item
android:id="@+id/Bluetooth_connect"
android:icon="@drawable/ic_bluetooth_white_24dp"
app:showAsAction="always"
android:orderInCategory="2"
android:title="@string/bluetooth_connect" />
</menu>
主要活动代码
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if(id == R.id.Bluetooth_connect){
Toast.makeText(getApplicationContext(), "Turned on", Toast.LENGTH_LONG).show();
}
return super.onOptionsItemSelected(item);
}
}
答案 0 :(得分:1)
要实现切换效果,可以在单击按钮时更改按钮的颜色。如果图标是可绘制的,则可以使用tint属性设置颜色。
在xml中,可以使用
设置色调android:tint="@color/icon_pressed"
在代码中,可以使用
设置色调imageView.setColorFilter(Color.argb(255, 255, 255, 255));
答案 1 :(得分:0)
您可以在drawable文件夹中的这样的选择器中定义它们:
button_state.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:state_pressed="true" android:drawable="@drawable/pressed" />
<item android:state_pressed="true" android:drawable="@drawable/initialpressed"/>
<item android:state_checked="true" android:drawable="@drawable/on"/>
<item android:drawable="@drawable/initial"/>
</selector>
然后在你的按钮中定义它:
android:background="@drawable/button_state"