android - Android 工具栏菜单项背景
问题描述
如何在 Youtube 应用程序中为下面 YouTube 应用程序屏幕截图右上角的用户名图标实现样式效果?
目前,我的应用程序有以下样式
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/color_accent</item>
<item name="otpViewStyle">@style/OtpWidget.OtpView</item>
<item name="windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:actionMenuTextAppearance" >@style/home_menu_style</item>
</style>
<style name="home_menu_style" parent="AppTheme">
<item name="android:textSize">20sp</item>
<item name="android:textStyle">bold</item>
<item name="android:actionMenuTextColor">@color/white</item>
</style>
另一个问题是文本颜色是黑色,而不是白色。我在样式和工具栏定义中将文本颜色定义为白色
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primary"
android:minHeight="?attr/actionBarSize"
android:theme="@style/AppTheme.AppBarOverlay"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:titleTextColor="@color/white">
</androidx.appcompat.widget.Toolbar>
解决方案
制作一个像下面这样的可绘制文件
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#48b3ff"/>
并像这样使用。
<style name="home_menu_style" parent="AppTheme">
<item name="android:textSize">20sp</item>
<item name="android:textStyle">bold</item>
<item name="android:backGround">@drawable/your_custom_drawable</item>
<item name="android:actionMenuTextColor">@color/white</item>
推荐阅读
- c# - my grid view does not refresh after sorting
- email - 如何使用颤振发送电子邮件?
- node.js - Routing MQTT protocol to PM2
- c# - Net Core:保存图像 URL 和描述列表的最佳方法
- c# - 场景重新加载后 MissingReferenceException
- ios - 如何使用本地 podspec 项目进行开发
- android - Android Seekbar does not update no matter what I try
- reactjs - React execute script if window width
- django - django updateview 将 request.id 传递给字段
- html - PreviousSibling 不使用 querySelector 返回值