布局重量显然效果很好,但在某些真实设备中却没有

时间:2014-04-16 17:15:16

标签: android android-layout

我已经搜索并尝试了很多解决方案而没有成功。

我的应用主屏幕中有一个完整尺寸的图片。所以我想用屏幕底部的2个按钮组织这个图像。

使用此XML一切似乎都可以,但在某些设备中(HTC One,LG Nexus 4 ...)图像不可见。在其他设备都可以,我认为代码确实很好。我知道这可能是一个重量问题,但如果我使用相对布局有重叠的问题(我不想使用滚动视图,因为主屏幕必须立即全部可见)。

我缺少什么?

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

<ImageView android:id="@+id/imgMainLogo"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="4"
    android:padding="20dp"
    android:adjustViewBounds="true"
    android:contentDescription="@string/image_description"
    android:gravity="center"
    android:src="@drawable/logo"/>

<LinearLayout android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:orientation="horizontal"
    android:padding="15dp"
    android:gravity="bottom">
    <Button
        android:id="@+id/buttonRegister"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_marginRight="10dp"
        android:padding="20dp"
        android:text="@string/main_btn_register"
        android:textStyle="bold"
        android:textSize="18sp"
        android:textColor="#FFFFFF"
        android:background="@drawable/button_background"/>
    <Button
        android:id="@+id/buttonEnter"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_marginLeft="10dp"
        android:padding="20dp"
        android:text="@string/main_btn_enter"
        android:textStyle="bold"
        android:textSize="18sp"
        android:textColor="#FFFFFF"
        android:background="@drawable/button_background"/>
</LinearLayout>
</LinearLayout>

2 个答案:

答案 0 :(得分:0)

检查我所做的与体重相关的更改。如果有效,请告诉我。

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

    <ImageView
        android:id="@+id/imgMainLogo"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.7"
        android:adjustViewBounds="true"
        android:contentDescription="@string/image_description"
        android:gravity="center"
        android:padding="20dp"
        android:src="@drawable/logo" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.3"
        android:gravity="bottom"
        android:orientation="horizontal"
        android:padding="15dp"
        android:weightSum="1" >

        <Button
            android:id="@+id/buttonRegister"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginRight="10dp"
            android:layout_weight="0.5"
            android:background="@drawable/button_background"
            android:padding="20dp"
            android:text="@string/main_btn_register"
            android:textColor="#FFFFFF"
            android:textSize="18sp"
            android:textStyle="bold" />

        <Button
            android:id="@+id/buttonEnter"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_weight="0.5"
            android:background="@drawable/button_background"
            android:padding="20dp"
            android:text="@string/main_btn_enter"
            android:textColor="#FFFFFF"
            android:textSize="18sp"
            android:textStyle="bold" />
    </LinearLayout>

</LinearLayout>

答案 1 :(得分:0)

<ImageView
    android:id="@+id/imageView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/linearLayout"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:gravity="center"
    android:padding="20dp"
    android:src="@drawable/ic_launcher" />

<LinearLayout
    android:id="@+id/linearLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:orientation="horizontal"
    android:padding="20dp"
    android:weightSum="2" >

    <Button
        android:id="@+id/button1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginRight="10dp"
        android:layout_weight="1"
        android:text="Register"
        android:textColor="#FFFFFF"
        android:textSize="18sp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_weight="1"
        android:text="Enter"
        android:textColor="#FFFFFF"
        android:textSize="18sp"
        android:textStyle="bold" />
</LinearLayout>