我的RelativeLayout有一些填充,但对于某个SurfaceView,我希望它没有填充。我将填充设置为0dp,但它仍然遵循RelativeLayout。我如何覆盖它?Android:覆盖RelativeLayout
回答
如果您的根布局设置了填充,那么即使您为子视图设置了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>
我希望你已经为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相同的方式。
但只是覆盖填充,我不会建议你创建自己的控件。我上面的解决方案应该是更好的方法。
看来您的解决方案是以编程方式更改RelativeLayout。我想要一些元素具有自己的布局,与RelativeLayout不同。 – onepiece
您可以创建自己的小部件并在布局文件中使用它们。 包com.android.xxx 公共类MyRelativeLayout扩展的RelativeLayout { } 在布局文件,使用MyRelativeLayout;与使用RelativeLayout相同的方式。
- 1. 的RelativeLayout的TextView覆盖
- 2. 以编程方式覆盖视图RelativeLayout
- 3. AdMob AdView在RelativeLayout中覆盖Listview
- 4. Android Motionevent覆盖
- 5. Android launchMode:singleTask覆盖
- 6. Android覆盖onBackPressed()
- 7. Android/Java - 覆盖
- 8. Android OnNavigationListener覆盖?
- 9. Android GUI覆盖
- 10. 覆盖Android ArrayAdapter
- 11. Android,地图覆盖
- 12. Android方法覆盖
- 13. Android图像覆盖
- 14. Android路由覆盖
- 15. Android覆盖线程?
- 16. Android覆盖项目
- 17. Android onRestoreInstanceState覆盖值
- 18. Android地图覆盖
- 19. openstreetmap覆盖android mapview
- 20. Еclipse(android)覆盖ID
- 21. Android - 覆盖android.content.Resources类
- 22. 覆盖覆盖?
- 23. C++覆盖...覆盖?
- 24. 覆盖与覆盖
- 25. 覆盖或覆盖
- 26. 相对布局覆盖在RelativeLayout组件中声明的组件
- 27. 覆盖RelativeLayout不适用于布局中的图像
- 28. 覆盖RelativeLayout的onMeasure()以限制其长宽比
- 29. Android Map分页覆盖
- 30. 如何覆盖Android键盘
你能解释这一点更 – anddevmanu
@anddevmanu我有一个RelativeLayout的具有填充,这样的话每个元素得到填充。然而,让我们说我想要一个没有填充的按钮。我试着将android:paddingLeft设置为仅用于该Button的0dp,但它仍以可视方式结束填充,因此我认为它仍然遵循RelativeLayout。我希望Button的布局与RelativeLayout不同。 – onepiece