gpt4 book ai didi

android - 更改 PopupMenu 中单个项目的文本颜色

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:43:12 30 4
gpt4 key购买 nike

我有一个弹出菜单,当用户单击图像时会出现该菜单。使用的代码是:

PopupMenu popupMenu = new PopupMenu(mContext, mImageView);
popupMenu.setOnMenuItemClickListener(MyClass.this);
popupMenu.inflate(R.menu.menu_my_class_options);
popupMenu.show();

菜单有三个操作,我希望其中一个中的文本为红色(而不是黑色)。

这可能吗?我找到了一些答案(例如here),展示了如何使用 Activity 的选项菜单执行此操作,但它们需要访问 onCreateOptionsMenu 方法...

提前致谢。

-- 编辑--

菜单文件:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/item_edit"
app:showAsAction="ifRoom|withText"
android:title="@string/action_edit_address"
android:visible="true"/>
<item
android:id="@+id/item_retake_photo"
app:showAsAction="ifRoom|withText"
android:title="@string/action_retake_photo"
android:visible="true"/>
<item
android:id="@+id/item_delete"
app:showAsAction="ifRoom|withText"
android:title="@string/action_delete_shipment"
android:visible="true"/>
</menu>

最佳答案

您可以通过以下步骤实现此目的。

在你的 style.xml --- 添加行

<style name="style" parent="android:Theme.Holo.Light"> 
<item name="textAppearanceSmallPopupMenu">@style/myPopupMenuTextAppearanceColor</item>
<item name="android:popupMenuStyle">@style/myPopupMenuStyle</item>

</style>

下面的代码

<style name="myPopupMenuStyle" parent="@style/Widget.AppCompat.Light.PopupMenu">

</style>
<style name="myPopupMenuTextAppearanceColor" parent="@style/TextAppearance.AppCompat.Light.Widget.PopupMenu.Small">
<item name="android:textColor">#000000(Your Color Code)</item>
</style>

单个菜单项颜色的更新

对于单个菜单项颜色,您可以简单地使用下面的代码

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.your_menu, menu);

int positionOfMenuItem = 0;
// 0 or whatever your item position at which you want to change the color...
MenuItem item = menu.getItem(positionOfMenuItem);
SpannableString s = new SpannableString("My red MenuItem");
s.setSpan(new ForegroundColorSpan(Color.RED//your color), 0, s.length(), 0);
item.setTitle(s);
}

关于android - 更改 PopupMenu 中单个项目的文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29304806/

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