имам линейно оформление като кръг и исках да променя цвета му с помощта на преобразувател на стойности.
по-долу е как изглежда моето линейно оформление
<LinearLayout
android:orientation="vertical"
android:id="@+id/linearLayoutDaysLeft"
android:background="@drawable/RedBackground"
local:MvxBind="BackgroundColor DateColor(EndDate)"/>
имайте предвид, че съм задал фон като @drawable/RedBackground
по-долу е как изглежда моят файл @drawable/RedBackground.xml
<?xml version="1.0" encoding="utf-8" ?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<corners android:radius="10dip"/>
<solid android:color="#D00E0D"/>
</shape>
По-долу е моят код на DateColorValueConverter
protected override Cirrious.CrossCore.UI.MvxColor Convert(object value, object parameter, System.Globalization.CultureInfo culture)
{
var date = (DateTime)value;
int dayLeft;
TimeSpan difference = date - DateTime.Today;
dayLeft = (int)Math.Ceiling(difference.TotalDays);
if (dayLeft < 0)
return (new Cirrious.CrossCore.UI.MvxColor(208, 14, 13, 150));
if (dayLeft >= 0 && dayLeft <= 1)
return (new Cirrious.CrossCore.UI.MvxColor(255, 210, 0, 150));
if (dayLeft > 1)
return (new Cirrious.CrossCore.UI.MvxColor(93, 210, 85, 150));
return (new Cirrious.CrossCore.UI.MvxColor(93, 210, 85, 150));
}
Обърнете внимание, че моят DateColor работи според изискванията, но когато върне цвета, премахва кръглата форма
Моля, помогни ми
Благодаря
Аман