[英]Android relativeLayout: How to make button take bottom port of screen?
[英]How to make RelativeLayout not take up the whole screen?
目前,我有一个相对布局以编程方式定义
RelativeLayout layout = new RelativeLayout(this);
然后我添加像这样的textviews和按钮
layout.addView(myText, params);
layout.addView(myBtn, param);
但是,这会使整个屏幕充满我的相对布局,我如何(以编程方式)仅设置一定数量的像素(dp)来占据屏幕? 我的目标是让屏幕的下半部分具有相对布局
有帮助吗?
编辑:这是我最终要实现的目标: http : //i.imgur.com/n1ckBN7.png
我认为这(以XML格式)可能对我有帮助
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="200dp">
在添加textviews之前,我曾尝试将其转换为Java:
parameters_layout = new
RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,
200);
layout.setLayoutParams(parameters_layout);
编辑2我尝试添加:
parameters_layout.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
parameters_layout.addRule(RelativeLayout.ALIGN_BOTTOM, RelativeLayout.TRUE);
layout.setGravity(Gravity.BOTTOM);
layout.setLayoutParams(parameters_layout);
还是没有运气
查看RelativeLAyout的官方Android文档。
http://developer.android.com/reference/android/widget/RelativeLayout.html
尤其是,
setMinimumWidth(int)
setMinimumHeight(int)
例:
layout.setMinimumWidth(500);
layout.setMinimumHeight(100);
如果要设置TextView / EditText和Button的高度和宽度(例如您的示例)。
这是官方Android文档中的API参考。
EditText: http : //developer.android.com/reference/android/widget/EditText.html
setHeight(int)
setMaxHeight(int)
setMinHeight(int)
setMaxWidth(int)
按钮: http : //developer.android.com/reference/android/widget/Button.html
setHeight(int)
setMinWidth(int)
只需阅读官方文档,所有参考资料都在那里。 :)
您没有提供完整的代码示例,所以我假设您的new RelativeLayout
是您活动的内容视图。
setContentView( layout );
这意味着您的父视图是框架布局,并且您需要创建一个FrameLayout.LayoutParams
。 该params类型不会给您太多选择,只有gravity
。 您可以尝试以下方法:
RelativeLayout layout = new RelativeLayout(this);
int halfScreenHeight = //calculate from DisplayMetrics
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(MATCH_PARENT, halfScreenHeight, Gravity.BOTTOM);
setContentView( layout, params );
...但是很尴尬。 我认为在RelativeLayout
的上半部分插入一个空View
更容易。 它仍将是全屏显示,但不再是全屏显示。
根据我在图像中看到的内容,您可以将所有内容放入覆盖所有内容的relativeLayout中,而底部视图则与底部对齐(为此使用align parent bottom)。
或者,您可以仅将底部(可以是您希望的任何布局)设置为在窗口本身内部具有“底部”的重力。
实际上,不久前我就问过要创建一个具有透明背景的对话框,因此它可能对您有所帮助。 这是链接 。 据我了解,可以对活动进行非常相似的处理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.