如何更改使用样式所选项目的颜色?
问题描述:
我有一个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
我选择的项目..哪里橙色从哪里来的颜色?
诗篇。如果我删除样式,它将返回到默认蓝色。
我还发现Android Color Control Cheat Sheet却看不到改变的条目列表视图中选择项目
答
它看起来像您遇到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>
(未安卓<resource>
),也许填充的字典从平台特定的资源启动时间。
一般的边注:使用Xamarin.Forms当真正专注于独立于平台的方式您的应用程序的功能;从经验,我可以说这是困难的,凌乱的追溯使应用程序与平台无关的,当你已经采取了平台上微妙的依存关系,如颜色,大小,UI范式等
感谢您的回答。虽然我不确定它对我有用。我的Android样式可以自定义工具栏,但出于某种原因也可以自定义选定的项目。我的项目,我选择是一个ListViewItem的,我不能看到如何隐式风格添加到我的ResourceDictionary为 – user1
它一定是事做:'@android:风格/ Theme.Material.Light.DarkActionBar'如删除单个项目工程 – user1
你试图明确的风格适用于您的ListView覆盖默认的主题不会改变任何东西,但切除整个风格?我仍然建议不要专注于底层操作系统的特定风格,并更多地关注应用程序本身。或者,如果你专注于Android只使用Xamarin.Droid而不是Forms,那么它更清洁 –