我有一个Android 5
设备,我使用此博客设置了一些Material Styles
:Material Design Theming for Xamarin.Forms Android Apps并获得了这个主题:
值-V21 \ styles.xml
<resources>
<style name="MyTheme" parent="@android:style/Theme.Material.Light.DarkActionBar">
<item name="android:colorPrimary">@color/color_primary</item>
<item name="android:colorPrimaryDark">@color/color_primary_dark</item>
<item name="android:colorAccent">@color/accent</item>
<item name="android:colorControlNormal">@color/color_primary</item>
<item name="android:colorControlActivated">@color/color_primary</item>
<item name="android:colorControlHighlight">@color/color_primary</item>
<item name="android:windowContentTransitions">true</item>
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
<item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
<item name="android:windowSharedElementExitTransition">@android:transition/move</item>
<item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
</style>
</resources>
值\ colors.xml
<resources>
<color name="color_primary">#404040</color>
<color name="color_primary_dark">#404040</color>
<color name="accent">#379ADE</color>
</resources>
这很好..但是......我似乎无法理解为什么我选择的项目出现橙色?
如何使用Styles
更改所选项目的颜色.. 橙色来自何处?
Ps。如果删除样式,则会返回默认的蓝色。
我还找到了Android Color Control Cheat Sheet,但无法看到更改listview所选项目的条目
答案 0 :(得分:1)
看起来你正在使用Xamarin.Forms样式和Android资源混合。
在Xamarin.Forms中,您可以根据this等属性更改来更改颜色:
<ResourceDictionary>
<Style TargetType="Entry">
<Style.Triggers>
<Trigger TargetType="Entry" Property="IsFocused" Value="True">
<Setter Property="BackgroundColor" Value="Yellow" />
</Trigger>
</Style.Triggers>
</Style>
</ResourceDictionary>
您可能需要定义颜色Xamarin.Forms <ResourceDictionary>
(不是Android <resource>
),并且可能会在启动时从特定于平台的资源填充字典。
一般性的注意事项:使用Xamarin时,表格真正专注于平台无关的应用功能;从经验中我可以说,当您在平台上采取微妙的依赖关系时,追溯性地使应用程序平台独立是困难和混乱的,例如颜色,大小,UI范例等。