mirror of
https://github.com/bitwarden/mobile
synced 2025-12-25 12:43:39 +00:00
50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
using Android.Content;
|
|
using System.ComponentModel;
|
|
using Android.Views;
|
|
using Bit.Android.Controls;
|
|
using Bit.App.Controls;
|
|
using Xamarin.Forms;
|
|
using Xamarin.Forms.Platform.Android;
|
|
using AView = Android.Views.View;
|
|
|
|
[assembly: ExportRenderer(typeof(ExtendedViewCell), typeof(ExtendedViewCellRenderer))]
|
|
namespace Bit.Android.Controls
|
|
{
|
|
public class ExtendedViewCellRenderer : ViewCellRenderer
|
|
{
|
|
protected AView View { get; private set; }
|
|
|
|
protected override AView GetCellCore(Cell item, AView convertView, ViewGroup parent, Context context)
|
|
{
|
|
var View = base.GetCellCore(item, convertView, parent, context);
|
|
var extendedCell = (ExtendedViewCell)item;
|
|
|
|
if(View != null)
|
|
{
|
|
if(extendedCell.BackgroundColor != Color.White)
|
|
{
|
|
View.SetBackgroundColor(extendedCell.BackgroundColor.ToAndroid());
|
|
}
|
|
else
|
|
{
|
|
View.SetBackgroundResource(Resource.Drawable.list_selector);
|
|
}
|
|
}
|
|
|
|
return View;
|
|
}
|
|
|
|
protected override void OnCellPropertyChanged(object sender, PropertyChangedEventArgs args)
|
|
{
|
|
base.OnCellPropertyChanged(sender, args);
|
|
|
|
var cell = (ExtendedViewCell)Cell;
|
|
|
|
if(args.PropertyName == ExtendedViewCell.BackgroundColorProperty.PropertyName)
|
|
{
|
|
View.SetBackgroundColor(cell.BackgroundColor.ToAndroid());
|
|
}
|
|
}
|
|
}
|
|
}
|