xamarin.android中怎么在代码内实时修改控件的大小属性

xamarin.android中该如何在代码内实时修改控件的大小属性?如果直接给其的宽度赋值,它就会报错说它是只读的:错误 CS0200 无法为属性或索引器“View.Width”赋值 - 它是只读的


LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
    LinearLayout.LayoutParams.WrapContent,
    LinearLayout.LayoutParams.WrapContent);


改为RelativeLayout.LayoutParams

该回答引用ChatGPT

要在 Xamarin.Android 中动态修改控件的大小属性,您可以使用控件的 LayoutParameters 属性。您可以将该属性设置为 ViewGroup.LayoutParams 的实例,然后设置其宽度和高度属性即可实现控件的大小更改。

下面是一个示例代码片段,演示如何在代码内实时修改 TextView 控件的大小属性:


// 获取要更改大小的 TextView 控件
TextView textView = FindViewById<TextView>(Resource.Id.myTextView);

// 创建 LayoutParams 对象并设置宽度和高度属性
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
    LinearLayout.LayoutParams.WrapContent,
    LinearLayout.LayoutParams.WrapContent);
layoutParams.Width = 200; // 设置宽度为 200 像素
layoutParams.Height = 100; // 设置高度为 100 像素

// 将 LayoutParams 对象设置为 TextView 的 LayoutParameters 属性
textView.LayoutParameters = layoutParams;

在上面的示例中,我们首先获取了一个 TextView 控件的实例,并创建了一个 LinearLayout.LayoutParams 的实例。然后,我们设置了 LayoutParams 的宽度和高度属性,并将其设置为 TextView 的 LayoutParameters 属性。这将导致 TextView 控件的大小被更改为 200 像素宽和 100 像素高。您可以根据需要更改宽度和高度的值来实现不同的效果。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^