Android填充问题

Posted

技术标签:

【中文标题】Android填充问题【英文标题】:Android padding problem 【发布时间】:2011-08-13 03:02:01 【问题描述】:

:) 我遇到以下问题:我有一个视图,我想为其添加边框。我目前正在尝试做的是为视图设置填充(从所有侧面填充)并为其设置背景颜色以填充填充。问题是,在我看来,可以仅从顶部和左侧或从底部和右侧设置填充,但不能将它们全部设置在一起。即如果我写

view.setPadding(border,border,border,border)

这将仅从顶部和左侧设置填充。为了从底部和右侧设置填充,我必须写:

view.setPadding(-border,-border,0,0)

不会留下左侧和顶部填充等。如果我尝试使用边距,它会移动整个块(视图 + 填充区域),但不仅仅是视图,所以这似乎也不起作用。关于如何在不必使用包装布局的情况下做到这一点的任何想法?谢谢!

【问题讨论】:

【参考方案1】:

您的观点的内容是什么?如果它是图像或类似的东西,可能它没有正确居中或缩放。尝试拨打setGravity(CENTER);

【讨论】:

谢谢,我会尽快尝试。基本上视图是一个相对布局,但它的内容可能会有所不同 - 图像/幻灯片/等。 @iLate RelativeLayout 将始终保持相同大小还是“包装内容”?如果它不改变大小,只需将背景设置为纯色、独特的颜色,直到你得到恰到好处的间距。这样就更容易准确地看到它的位置。【参考方案2】:

当您使用第一个示例时,究竟会发生什么?

setPadding() 的四个int 参数分别用于左、上、右和下。因此,调用setPadding(4, 5, 6, 7) 应该为您提供 4 个像素的左边缘空间、5 个像素的顶部空间、6 个像素的右侧空间和 7 个像素的底部空间。当你这样做时,你会得到什么结果?可以给个截图吗?

【讨论】:

当我写这个时它只设置从顶部和左侧的填充。我无法提供屏幕截图,因为我目前正在使用的计算机上没有源代码,但它正确设置了顶部和左侧边框,并且没有底部和右侧边框。 有趣。是的,根据 Amplify 的说明,它是什么类型的视图? 这是一个相对布局,可能不仅包含图像。 尝试将 android:clipToPadding="true" 添加到 XML 布局中,或者如果在代码中实例化,请在 RelativeLayout 上调用 setClipToPadding(true)

以上是关于Android填充问题的主要内容,如果未能解决你的问题,请参考以下文章

Android按钮垂直填充?

Android - 用颜色填充位图

填充不起作用Android

Android:如何在偏好中调整边距/填充?

横向方向的android偏好活动填充

无法从 Android Material 滑块中删除填充