0

我想要一个代表评级的文本视图,并且我希望背景根据值从浅到深。表示 1 = 白色背景和 5 = 红色背景。你认为最好的方法是什么?

谢谢

阿米特

4

1 回答 1

0

对于绑定BackgroundColor

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

    <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
                 }
             }
         }
    
于 2013-08-09T16:44:43.373 回答