0

现在我有我的应用程序的主屏幕,屏幕的顶部 50% 使用按钮/内容,底部 50% 只显示徽标。但是我似乎无法更改它,以便徽标仅占据屏幕底部的 25%。

我在顶部使用了 3 的 layout_weight,在底部使用了 1,但是这导致底部徽标现在占据了屏幕区域的 95%,并且主区域中的所有内容不再可见。对外部容器使用 weightSum 并没有奏效,也没有尝试将 layout_width/height 更改为 fill_parent 或 wrap_content 组合。

我已经使用 layout_weight 阅读了其他帮助线程并阅读了文档,这一切看起来都非常简单,并且在内容区域中使用它们没有问题,我不确定为什么这给我带来了麻烦,有人可以帮我吗?

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:textColor="#000000"
android:background="#faff67"
>
 <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:background="@drawable/backing"
    android:paddingTop="5dp"
    android:paddingRight="3dp"
    android:paddingLeft="3dp"
    android:paddingBottom="3dp"
    android:layout_margin="3dp"
android:layout_weight="3"
    >

    <!-- Main content area stuff -->


 </LinearLayout>
<LinearLayout
android:id="@+id/main"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:paddingTop="0dp"
android:layout_weight="1"
   >
<ImageView  android:scaleType="fitCenter"
            android:contentDescription="Logo"
            android:src="@drawable/logo"
            android:id="@+id/front_logo"
            android:padding="1sp"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"></ImageView>
</LinearLayout>
</LinearLayout>
4

3 回答 3

2

使用时android:layout_weight,应设置android:layout_height="0dp"加权分量。否则,在某些情况下,布局高度将胜过权重。

当然,这是垂直布局。对于水平,使用android:layout_width="0dp"

于 2013-03-05T16:26:22.753 回答
0

您错误地使用了weight属性。每当您设置权重参数时,您应该将相应的宽度或高度设置为 0dp。因此,更改将权重分配给0dp 的布局的高度。

android:layout_height="0dp"
于 2013-03-05T16:27:36.973 回答
0

用这个

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

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:background="#123123"
    android:gravity="center"
    android:orientation="vertical" >
</LinearLayout>

<LinearLayout
    android:id="@+id/main"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="3" >

    <ImageView
        android:id="@+id/front_logo"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:contentDescription="Logo"
        android:padding="1sp"
        android:scaleType="fitCenter"
        android:src="@drawable/logo" >
    </ImageView>
</LinearLayout>

</LinearLayout>
于 2013-03-05T16:30:11.180 回答