ListView Hintergrundfarbe des selektierten Elements - Xamarin Forms

Updated . Posted . Visible to the public. Repeats.

Die Hintergrundfarbe der selektierten ListView-Items (SelectedItemBackground) ist vom Betriebssystem vorgegeben. Es gibt keine Property, um das benutzerdefiniert einzustellen.
Workaround: per Renderer die Hintergrundfarbe auf Transparent zu stellen:

für iOS:

using System;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;

[assembly: ExportRenderer (typeof(ViewCell), typeof(MyAPP.iOS.CustomAllViewCellRendereriOS))]
namespace MyAPP.iOS
{
    public class CustomAllViewCellRendereriOS : ViewCellRenderer
    {
        public override UIKit.UITableViewCell GetCell (Cell item, UIKit.UITableViewCell reusableCell, UIKit.UITableView tv)
        {
            var cell =  base.GetCell (item, reusableCell, tv);
            if (cell != null)
                cell.SelectionStyle = UIKit.UITableViewCellSelectionStyle.None;
            return cell;
        }
    }
}

für Android (in Android/Resources/values/styles.xml):

<?xml version="1.0" encoding="UTF-8"?>
<resources>
	<style name="CustomTheme" parent="android:Theme.Holo.Light">
		<item name="android:colorActivatedHighlight">@android:color/transparent</item>
	</style>
</resources>
Stephan Blaurock
Last edit
Stephan Blaurock
Posted by Stephan Blaurock to Programming KB (2018-05-14 06:08)