Android布局 - 加权

时间:2012-02-12 19:53:05

标签: android android-layout

我花了好几个小时试图解决这个问题,并花了很长时间寻找其他答案。 我显然错过了一些简单的东西,但确实一直在尝试。

我将我的代码剪切到基本要点以找到问题。

布局有一个背景,其上半部分是漂亮的图形,在上半部分之下,我希望有按钮。 背景位于顶部,第一个是linearlayout(垂直)。 然后,在其中,是两个垂直线性布局。

顶部垂直布局,重量为1。 底部垂直布局,重量为1。

这对我来说意味着顶部布局应该占据屏幕的HALF。然后进入第二个布局的按钮应该可以占用屏幕的其余部分。 但是,当我开始添加到第二个布局时,它不再占用屏幕的一半,但开始占用上半部分的空间。

我想做的就是在屏幕的下半部分添加四个图像按钮,水平集中。

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/menubackground"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

    <!--  Layout 1, the top half -->
    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="vertical" >
    </LinearLayout>

    <!-- Layout 2, the bottom half, containing buttons -->
    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="vertical" >

        <ImageButton
            android:id="@+id/imageButton1"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:src="@drawable/playbtnimg" android:layout_weight="1"/>

        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:src="@drawable/achievementsbtnimg" android:layout_weight="1"/>
    </LinearLayout>

</LinearLayout>

这两个按钮现在开始占据垂直空间的2/3左右。它们不应该进入屏幕的上半部分。 我试图以这种方式使用布局,因此它可以在不同的屏幕尺寸上工作。 我希望这些图像可以缩放以适应它们的线性布局单元格,而不是在侧面顶部进行切割。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

向您的根元素添加weightsum属性,即父LinearLayout

这就是它的样子

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/menubackground"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="2"
android:orientation="vertical">

同样适用于LinearLayout按钮

这将有助于您在Android文档中阅读更多内容

答案 1 :(得分:0)

尝试在使用ImageButtons作为背景的地方添加此代码。

android:adjustViewBounds="true"

修复了我遇到的类似问题。

希望它有效且编码愉快。