gpt4 book ai didi

android - 根据 sdk 级别为菜单项使用不同的 drawable?

转载 作者:行者123 更新时间:2023-11-29 22:12:15 25 4
gpt4 key购买 nike

我希望菜单项根据 api 级别使用不同的可绘制对象:

// my_menu.xml
<menu>
<item android:icon="@style/foo"/>
</menu>

// values/styles.xml
<drawable name="foo">@drawable/apple</drawable>

// values-v11/styles.xml
<drawable name="foo">@drawable/orange</drawable>

不过似乎行不通 - 有没有办法做到这一点?

谢谢

------------更新----------------

好的,经过更多的阅读,我就是这样做的:

// my_menu.xml
<menu>
<item style="@style/foo"/>
</menu>

// values/styles.xml
<style name="foo">
<item name="android:icon">@drawable/apple</item>
</style>

// values-v11/styles.xml
<style name="foo">
<item name="android:icon">@drawable/orange</item>
</style>

我认为这就是 lxx 的建议。

最佳答案

在代码中扩充菜单后,您应该能够以编程方式执行此操作。

        onCreateWhateverMenu(Menu menu){

///inflate menu
...

MenuItem item = menu.findItem(itemId)
if(Build.VERSION.SDK_INT == <insert API level>){
item.setIcon(your Drawable);
}
else{
item.setIcon(other Drawable);
}

...
}

希望这对您有所帮助。

关于android - 根据 sdk 级别为菜单项使用不同的 drawable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9353337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com