根据值更改视图背景

时间:2013-08-08 17:49:25

标签: xamarin.android mvvmcross

我希望有一个代表评级的textview,我希望背景根据值从亮到暗。意思是1 =白色背景,5 =红色背景。您认为最好的方法是什么?

由于

阿米特

1 个答案:

答案 0 :(得分:0)

用于绑定BackgroundColor

  • MvvmCross包含BackgroundColor绑定,并且有一个示例与ValueConversion sample in View_Colors.axml中的TextView一起使用

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="100dp"
        local:MvxBind="BackgroundColor Color, Converter=NativeColor; Text Color; TextColor Color, Converter=ContrastColor" 
    />
    

从int转换为colo(u)r:

  • 我建议您使用继承自MvxColorConverter.vs的ValueConverter - 例如类似的东西:

         public void RatingColorConverter : MvxColorConverter
         {
             protected override MvxColor Convert(object value, object parameter, System.Globalization.CultureInfo culture)
             {
                 switch ((int)value)
                 {
                     case 1:
                        return new MvxColor(255,255,255);
                     case 2:
                        return new MvxColor(255,200,200);
                     // etc
                 }
             }
         }