代码之家  ›  专栏  ›  技术社区  ›  user875234

如何更改ListView所选项目的背景色?

  •  -1
  • user875234  · 技术社区  · 7 年前

    myListView.SelectedItem.GetType() == typeof(object) . 所以你不能通过倾听 ItemTapped 因为没有要设置的背景属性。你能做的是:

    myListView.ItemTapped += async (object sender, ItemTappedEventArgs e) =>
    {
        myListView.SelectedItem = null;
    };
    

    而且至少它不会将所选项目的背景设置为某种随机颜色(在我的例子中是亮橙色)。

    选择

    2 回复  |  直到 7 年前
        1
  •  2
  •   Bruno Caceiro    7 年前

    对于Android,您可以在resources xml文件中设置,对于iOS,您将需要一个CustomRenderer(正如您所说的,这不是一个选项)。有一个特性请求要求xamarin将其添加到表单中。我们等等。

    <resources>
      <style name="MyTheme" parent="android:style/Theme.Material.Light.DarkActionBar">
       <item name="android:colorActivatedHighlight">@color/YourColor</item>
       <item name="android:colorPressedHighlight">@color/YourColor</item>
       <item name="android:colorLongPressedHighlight">@color/YourColor</item>
       <item name="android:colorFocusedHighlight">@color/YourColor</item>
       <item name="android:activatedBackgroundIndicator">@color/YourColor</item>
      </style>
    <color name="YourColor">#96BCE3</color>
    </resources>
    
        2
  •  0
  •   Vikas Shaw    7 年前

    或者 你也可以使用 Sflistview

    在这里可以得到“SelectionBackgroundColor”属性