Uno 材质底部导航栏

时间:2021-01-07 23:27:55

标签: material-ui uno-platform

我正在 Uno 平台上为我的应用实现 bottomNavigationBar。我有其他一切工作 - 但是在按下图标时无法更改涟漪效果的颜色或不透明度。我要么需要更改效果的不透明度或颜色。我需要修改的属性的名称是什么 - 是颜色还是百分比?感谢您的帮助!

以下是我尝试过的样式示例:

        <SolidColorBrush x:Key="NavigationViewItemForegroundSelected" Color="Green"/>
        <SolidColorBrush x:Key="NavigationViewItemForegroundSelectedPointerOver" Color="Green"/>
        <SolidColorBrush x:Key="NavigationViewItemForegroundPressed" Color="Green"/>
        <SolidColorBrush x:Key="NavigationViewItemForegroundSelectedPressed" Color="Green"/>
        <SolidColorBrush x:Key="NavigationViewSelectionIndicatorForeground"  Color="Blue" />
        <Color x:Key="MaterialPrimaryColor">Green</Color>
        <Color x:Key="MaterialSecondaryColor">LightGreen</Color>
        <Color x:Key="MaterialBottomNavForegroundColor">Green</Color>
        <Color x:Key="MaterialBottomNavUncheckedForegroundBrush">Blue</Color>
        <SolidColorBrush x:Key="MaterialBottomNavBackgroundBrush" Color="#FFF2F2F2"/>

2 个答案:

答案 0 :(得分:1)

改变涟漪效果颜色的资源是MaterialBottomNavPressedBrush

您可以通过以下方式找出哪些资源适用于何处:

  1. 在github上查找样式
  2. 在 XAML 模板中查找使用资源的位置
  3. 注意名字
  4. 在应用程序的 XAML 中覆盖它

这是此示例的位置 github link

答案 1 :(得分:0)

所以 - 我想出了这个问题 - 我需要 MaterialBottomNavPressedBrush 和 MaterialBottomNavUncheckedForegroundBrush。由于我的颜色选择——如果我遗漏了一个——它默认为白色,你看不到它。感谢 matfillion 为我指明了正确的方向。这是我的示例代码:

<Color x:Key="MaterialPrimaryColor">Blue</Color>
<SolidColorBrush x:Key="MaterialColor">Yellow</SolidColorBrush> 
<SolidColorBrush x:Key="MaterialBottomNavPressedBrush" Color="{ThemeResource MaterialColor}" Opacity="0.10" /> 
<SolidColorBrush x:Key="MaterialBottomNavUncheckedForegroundBrush" Color="{ThemeResource MaterialPrimaryColor}" Opacity=".50" />