繁体   English   中英

Xamarin:上下文操作所选项目背景颜色

[英]Xamarin: Context Action Selected Item Background Color

我里面有一个 ListView 和一个自定义单元格。 我添加了上下文菜单,它工作正常。 唯一的问题是,当我长按列表中的一个项目时,所选项目在 Android 上会有一个不可见的白色背景,因此用户将无法看到他们正在选择的项目。 有什么办法可以改变吗?

您可以直接在 Android 上自定义颜色属性。

1.在colors.xml文件中添加以下颜色

<color name="ListViewSelected">#96BCE3</color>
<color name="ListViewHighlighted">#E39696</color>

2.在文件styles.xml中添加以下属性

  <item name="android:colorPressedHighlight">@color/ListViewSelected</item>
  <item name="android:colorLongPressedHighlight">@color/ListViewHighlighted</item>
  <item name="android:colorFocusedHighlight">@color/ListViewSelected</item>
  <item name="android:colorActivatedHighlight">@color/ListViewSelected</item>
  <item name="android:activatedBackgroundIndicator">@color/ListViewSelected</item>

我的整个styles.xml如下:

  <?xml version="1.0" encoding="utf-8" ?>
<resources>

  <style name="MainTheme" parent="MainTheme.Base">
  </style>
  <!-- Base theme applied no matter what API -->
  <style name="MainTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <!--If you are using revision 22.1 please use just windowNoTitle. Without android:-->
    <item name="windowNoTitle">true</item>
    <!--We will be using the toolbar so no need to show ActionBar-->
    <item name="windowActionBar">false</item>
    <!-- Set theme colors from http://www.google.com/design/spec/style/color.html#color-color-palette -->
    <!-- colorPrimary is used for the default action bar background -->
    <item name="colorPrimary">#2196F3</item>
    <!-- colorPrimaryDark is used for the status bar -->
    <item name="colorPrimaryDark">#1976D2</item>
    <!-- colorAccent is used as the default value for colorControlActivated
         which is used to tint widgets -->
    <item name="colorAccent">#FF4081</item>
    <!-- You can also set colorControlNormal, colorControlActivated
         colorControlHighlight and colorSwitchThumbNormal. -->
    <item name="windowActionModeOverlay">true</item>

    <item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item>

   

      <item name="android:colorPressedHighlight">@color/ListViewSelected</item>
      <item name="android:colorLongPressedHighlight">@color/ListViewHighlighted</item>
      <item name="android:colorFocusedHighlight">@color/ListViewSelected</item>
      <item name="android:colorActivatedHighlight">@color/ListViewSelected</item>
      <item name="android:activatedBackgroundIndicator">@color/ListViewSelected</item>
      
  </style>

  <style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog">
    <item name="colorAccent">#FF4081</item>
  </style>
</resources>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM