我的 RelativeLayout 有一些填充,但是对于某个 SurfaceView,我希望它没有填充。我将填充设置为 0dp,但它仍然遵循相对布局。我如何覆盖它?
问问题
350 次
2 回答
1
如果您的根布局设置了填充,那么即使您为子视图设置了 0dp 填充,由于根布局也会有填充。使用嵌套布局并将填充分配给您想要的布局。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<RelativeLayout><surfaceview></surfaceview></RelativeLayout> //add padding here if you want
<RelativeLayout><Button></Button></RelativeLayout> //do not add padding here if you do not want
</RelativeLayout>
于 2013-06-03T19:14:32.037 回答
0
我希望你已经为RelativeLayout 设置了填充,而不是SurfaceView。
您可以使用以下代码获取 RelativeLayout 的实例并在运行时设置填充:
RelativeLayout element = MainLayout.findViewById(id);
if (element!= null)
element.setPadding(0.0.0.0);
其他方法:
您可以创建自己的小部件并在布局文件中使用它们。
package com.android.xxx
public class MyRelativeLayout extends RelativeLayout {
}
在您的布局文件中,使用 MyRelativeLayout;与使用 RelativeLayout 的方式相同。
但只是为了覆盖 Padding,我不建议您创建自己的小部件。我的上述解决方案应该是更好的方法。
于 2013-06-03T18:51:31.907 回答