可能 MvvmCross 没有内置支持直接绑定 TextView 的 Alpha 属性。 您需要为此目的创建自定义绑定。
创建自定义绑定:
public class AlphaTextViewTargetBinding : MvxAndroidTargetBinding<TextView, int>
{
public BackgroundViewTargetBinding(TextView view) : base(view)
{
}
// Alpha from 0 to 255
protected override void SetValueImpl(TextView target, int value)
{
target.Alpha = value;
}
public override MvxBindingMode DefaultMode => MvxBindingMode.OneWay;
}
注册自定义绑定(Setup.cs)
protected override void FillTargetFactories(IMvxTargetBindingFactoryRegistry registry)
{
base.FillTargetFactories(registry);
registry.RegisterFactory(new MvxCustomBindingFactory<TextView>("Alpha",
view => new AlphaTextViewTargetBinding(view)));
}
在 XML 中使用自定义绑定:
<TextView
style="@style/B1.TextView"
android:layout_width="32dp"
android:layout_height="32dp"
android:background="@drawable/shape_circle_bluescale1"
android:gravity="center"
android:text="@string/plus"
android:textColor="@color/bluescale4"
app:MvxBind="Click IncrementQuantityCommand; Alpha QtyAlpha;"/>
我目前使用MvvmCross版本8.0.2进行演示 目的。请注意,覆盖方法可能会有所不同,具体取决于 正在使用的版本。
希望有帮助!