我已经在我的应用中集成了chromecast。我想在连接chromecast并且没有连接时想要不同的操作栏图标。我创建了一个可绘制的mr_ic_media_route_holo_light.xml
,并在没有连接的情况下为chromecast图标添加了以下代码。但是当连接时我需要为不同的chromecast图标添加什么?我尝试创建xml - 'ic_media_route_connecting_holo_light.xml
和mr_ic_media_route_connecting_holo_light.xml
以便在连接chromecast时显示图标但它不起作用。它显示相同chromecast连接与否时的图标。我正在使用主题Theme.AppCompat.Light
。“
mr_ic_media_route_holo_light
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false" >
<item
android:drawable="@drawable/ic_cast_white_24dp"
android:duration="500"/>
<item
android:drawable="@drawable/ic_cast_white_24dp"
android:duration="500"/>
<item
android:drawable="@drawable/ic_cast_white_24dp"
android:duration="500"/>
<item
android:drawable="@drawable/ic_cast_white_24dp"
android:duration="500"/>
</animation-list>
答案 0 :(得分:3)
您需要在drawable中包含另一个xml,并将其命名为mr_ic_media_route_holo_light.xml。默认内容为:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:state_enabled="true"
android:drawable="@drawable/mr_ic_media_route_on_holo_light" />
<item android:state_checkable="true" android:state_enabled="true"
android:drawable="@drawable/mr_ic_media_route_connecting_holo_light" />
<item android:state_enabled="true"
android:drawable="@drawable/mr_ic_media_route_off_holo_light" />
<item android:drawable="@drawable/mr_ic_media_route_disabled_holo_light" />
</selector>
并更新其内容以指向您想要的内容。请注意,您可以在<SDK-DIR>/extras/android/support/v7/mediarouter/res/drawable
中找到此文件的默认版本(以及引用的drawable)。