Android按钮宽度的一半可用宽度 - 布局
问题描述:
我已经做了一个与imageview和一些按钮的布局,我希望按钮有一半的可用屏幕宽度和高度。Android按钮宽度的一半可用宽度 - 布局
这是我试过的,我的xml如下。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:id="@+id/imageidid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="200dp"
android:scaleType="centerCrop"
android:src="@drawable/actionbar_bg" />
</LinearLayout>
<LinearLayout
android:id="@+id/1st row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_below="@id/imageid"
>
<Button
android:id="@+id/btn1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="row1 col1" />
<Button
android:id="@+id/btn2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="row1 col2" />
</LinearLayout>
<LinearLayout
android:id="@+id/2nd row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_below="@id/1st row"
>
<Button
android:id="@+id/btn1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="row2 col1" />
<Button
android:id="@+id/btn2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="row2 col2" />
</LinearLayout>
</RelativeLayout>
和输出看起来像这样。
,我想是这样的。(注imageview的进行屏幕高度的40%)
答
这里的weightsum属性是你的代码需要达到你想要的,你可以改变视图的权限来设置你希望视图的屏幕比例:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="40"
android:scaleType="centerCrop"
android:src="@drawable/actionbar_bg" />
<LinearLayout
android:id="@+id/1st row"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_below="@id/imageid"
android:layout_weight="30"
android:orientation="horizontal" >
<Button
android:id="@+id/btn1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="row1 col1" />
<Button
android:id="@+id/btn2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="row1 col2" />
</LinearLayout>
<LinearLayout
android:id="@+id/2nd row"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_below="@id/1st row"
android:layout_weight="30"
android:orientation="horizontal" >
<Button
android:id="@+id/btn1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="row2 col1" />
<Button
android:id="@+id/btn2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="row2 col2" />
</LinearLayout>
</LinearLayout>
答
你的RelativeLayout没有做什么特别的东西,所以它更改为LinearLayout(将宽度和高度属性都设置为“match_parent”,但添加
android:orientation="vertical"
然后对于每个人小光伏LinearLayouts,添加:
android:layout_weight=".xx"
其中xx是你希望你的孩子的布局使用大的LinearLayout的百分比。
此背景参考,请务必阅读:
http://developer.android.com/guide/topics/ui/layout/linear.html
答
可以使用的LinearLayout作为主要布局,然后使用线性布局
答
试试这个,指出:
- 根据“暗示”嵌套的权重是坏的表现,不过看代码,
- FILL_PARENT已过时,使用match_parent
- 你的“形象”是不是代表视觉上的百分比,在任何情况下,很容易改变,
代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/imageid"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="4"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:contentDescription="@string/description"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/actionbar_bg" />
</LinearLayout>
<LinearLayout
android:id="@+id/1strow"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"
android:orientation="horizontal" >
<Button
android:id="@+id/btn11"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/row1col1" />
<Button
android:id="@+id/btn21"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/row1col2" />
</LinearLayout>
<LinearLayout
android:id="@+id/2ndrow"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"
android:orientation="horizontal" >
<Button
android:id="@+id/btn12"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/row2col1" />
<Button
android:id="@+id/btn22"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/row2col2" />
</LinearLayout>
</LinearLayout>
使用weightSum 1! – 2013-04-24 07:55:00