-1

我的 RelativeLayout 有一些填充,但是对于某个 SurfaceView,我希望它没有填充。我将填充设置为 0dp,但它仍然遵循相对布局。我如何覆盖它?

4

2 回答 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 回答