如何在 MonoDroid 的代码隐藏中设置边距?

Posted

技术标签:

【中文标题】如何在 MonoDroid 的代码隐藏中设置边距?【英文标题】:How can I set Margin in Code-behind for MonoDroid? 【发布时间】:2012-11-28 05:00:33 【问题描述】:

这个问题很简单,但我什么也没找到。如何在代码隐藏中为小部件设置边距。

我在Xamarin's site 中找到了此文档,但我无法将其用于 ImageView

我也在 ImageView 中尝试了 Layout() 方法,但没有成功。

        ImageView imgView = FindViewById<ImageView>(Resource.Id.imageView);
        imgView.Layout(10, 10, 10, 10);

【问题讨论】:

这可能会有所帮助:***.com/questions/3416087/… 我已经看过了,这个方法在xamarin中不存在。谢谢 【参考方案1】:

您是否尝试过使用 FrameLayout 的 LayoutParams?

这是一个例子:

您的图片:

ImageView imgView = FindViewById<ImageView>(Resource.Id.imageView);

你的图片参数:

FrameLayout.LayoutParams imgViewParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WrapContent, FrameLayout.LayoutParams.WrapContent, 0.0f);
imgViewParams.SetMargins(10, 10, 10, 10);

设置图像参数:

imgView.LayoutParameters = imgViewParams;

编辑:将 LinearLayout.LayoutParameters 更改为 FrameLayout.LayoutParameters!

【讨论】:

我试图创建一个 LinearLayout.LayoutParams 并设置到 ImageView 中,但问题是我有一个框架布局而不是线性布局,我只是更改为 FrameLayout.LayoutParams 并且它可以工作,谢谢。【参考方案2】:

你能在你的布局中添加一个 LinearLayout 吗?

您可以将 ImageView 包裹在其中并添加边距!

像这样:

<LinearLayout 
    android:orientation="horizontal"
    android:layout_
    android:layout_
    android:layout_margin="10dp" >
    <ImageView
        your imageview stuff />
</LinearLayout>

【讨论】:

【参考方案3】:

不知道这是否有帮助,但您可以尝试像这样更改边距值,看看效果如何:

imgView.margin = new thickness(leftvalue,topvalue,rightvalue,botvalue);

【讨论】:

以上是关于如何在 MonoDroid 的代码隐藏中设置边距?的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 中,如何以编程方式在 dp 中设置边距?

Android:以编程方式在 FrameLayout 中设置边距 - 不起作用

LinearLayout 忽略边距

如何以编程方式在 dp 中设置 EditText 上边距?

Python libreoffice 使用 uno 设置边距值、最佳高度和打印文档

如何在 IE 中设置对象的边距?