Xamarin.android 如何在Xamarin android中实现线性渐变?

Xamarin.android 如何在Xamarin android中实现线性渐变?,xamarin.android,Xamarin.android,我想动态地实现我在应用程序中附加的图像,但我不知道如何在C#Gradient中指定中心颜色、起始颜色、结束颜色和角度 如何在Xamarin android本机平台上以编程方式实现此功能 protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.GradientLayout);

我想动态地实现我在应用程序中附加的图像,但我不知道如何在C#Gradient中指定中心颜色、起始颜色、结束颜色和角度


如何在Xamarin android本机平台上以编程方式实现此功能

protected override void OnCreate(Bundle savedInstanceState) {
    base.OnCreate(savedInstanceState);

    SetContentView(Resource.Layout.GradientLayout);

    ImageView ivTest = FindViewById<ImageView>(Resource.Id.ivSquare);
    GradientDrawable gd = new GradientDrawable(
        GradientDrawable.Orientation.TrBl,  // "Top Right, Bottom Left"
        new int[] { new Color(Color.Red), new Color(Color.White), new Color(Color.Blue) });
    ivTest.Background = gd;
}
protectedoverride void OnCreate(Bundle savedInstanceState){
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.GradientLayout);
ImageView ivTest=FindViewById(Resource.Id.ivSquare);
GradientDrawable gd=新的GradientDrawable(
GradientDrawable.Orientation.TrBl,//“右上、左下”
新int[]{新颜色(Color.Red)、新颜色(Color.White)、新颜色(Color.Blue)};
ivTest.Background=gd;
}
GradientLayout.axml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent" >
  <ImageView
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:background="@null"
    android:id="@+id/ivSquare" />
</RelativeLayout>

输出


谢谢@Robert。这很好,但在我的例子中,图像不完全是正方形。所以中间颜色不完全在对角线上。你知道如何按对角线分割吗???@BBB,我准确地回答了你的问题,建议接受我的回答,这样其他人可以从中受益。然后,创建一个关于对角线划分的新问题,我们可以从那里开始。