我想创建一个布局,根据屏幕尺寸拉伸和占用空间。我想在布局中显示以下内容。
什么是最好的布局?我可能在想,顶部的线性布局和底部的相对布局,将其与父底部对齐。但是我如何确保它可以拉伸以适应屏幕?
我可以使用layout_weight="1"
线性布局来确保它占用屏幕空间,但是高度呢?
我想创建一个布局,根据屏幕尺寸拉伸和占用空间。我想在布局中显示以下内容。
什么是最好的布局?我可能在想,顶部的线性布局和底部的相对布局,将其与父底部对齐。但是我如何确保它可以拉伸以适应屏幕?
我可以使用layout_weight="1"
线性布局来确保它占用屏幕空间,但是高度呢?
在相对布局中,您只需设置 useandroid:layout_alignParentBottom = "true"
等android:layout_alignParentRight = "true"
以对齐屏幕。
您可以使用android:layout_width = "match_parent"
水平填充屏幕或android:layout_height = "match_parent"
垂直填充屏幕。您还可以指定一定数量,例如android:layout_width = "100dp"
.
我建议您使用 android studio 来查看布局的实时预览,这很有帮助。
为了使Drawing Cavas大=屏幕和其他组件的1/2小,我认为您应该使用linear layout
最外层的布局,并使用layout_weight
使画布比其他的更大。使用时layout_weight
,应制作子组件的layout_height="0dp"
. 这是我想出的
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="5dp"
android:layout_weight="4"
android:text="Canvas" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="5dp"
android:layout_weight="1" >
<Button
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<Button
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toLeftOf="@+id/button" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_centerInParent="true" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="5dp"
android:layout_weight="2" >
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="Image" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="50dp" /><!--Hard coded should be avoided. It depends on the screen size.-->
</RelativeLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>