【发布时间】:2014-07-02 09:56:24
【问题描述】:
我有一个圆形的线性布局,想用值转换器改变它的颜色。
下面是我的线性布局的样子
<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 按要求工作,但是当它返回颜色时,它会删除圆形
请帮帮我
谢谢
阿曼
【问题讨论】:
标签: android xamarin xamarin.android mvvmcross