Android布局权重imageview不可见

时间:2015-04-22 17:27:53

标签: android android-layout

我对Android布局有一个令人困惑的问题。当我只使用一个imageview时,图像将不可见,但如果我使用两个imageview(一个用于虚拟视图),我可以看到图像。我的问题仅存在于HVGA分辨率(320x480)。我认为这是因为我的图像分辨率。因为当我只使用number_one.png图像(124x133px)时它很好,但是如果我只使用result.png(597x90)我需要使用虚拟视图来查看它。这是代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:orientation="vertical"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".MainActivity$PlaceholderFragment">

    <!--<TextView android:text="@string/hello_world" android:layout_width="wrap_content"-->
    <!--android:layout_height="wrap_content" />-->





    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1"

        android:gravity="center"
        >
       //if I use number_one.png(124x133) its fine
       //result.png is 597x90
         <ImageView
        android:id="@+id/result"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:src="@drawable/result"
        />
    //dummy imageview (i dont need to use it if I use number_one.png
    <ImageView
        android:id="@+id/resultx"
        android:layout_width="0dip"
        android:layout_weight="0"
        android:layout_height="wrap_content"
        android:src="@drawable/number_one"
        />




    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1"

        android:gravity="center"
        >

        <ImageView
            android:id="@+id/number_one"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/number_one"
            />

        <ImageView
            android:id="@+id/number_two"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/number_two"
            android:layout_marginLeft="10dp"
            />

        <ImageView
            android:id="@+id/number_three"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/number_three"
            android:layout_marginLeft="10dp"
            />

        <ImageView
            android:id="@+id/add"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/add"
            android:layout_marginLeft="10dp"
            />
    </LinearLayout>


    <LinearLayout

        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:gravity="center"


        >
        <ImageView
            android:id="@+id/number_four"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/number_four"
            />

        <ImageView
            android:id="@+id/number_five"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/number_five"
            android:layout_marginLeft="10dp"
            />

        <ImageView
            android:id="@+id/number_six"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/number_six"
            android:layout_marginLeft="10dp"
            />

        <ImageView
            android:id="@+id/sub"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/sub"
            android:layout_marginLeft="10dp"
            />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:gravity="center"
        android:layout_weight="1"
        >
        <ImageView
            android:id="@+id/number_seven"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/number_seven"
            />

        <ImageView
            android:id="@+id/number_eight"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/number_eight"
            android:layout_marginLeft="10dp"
            />

        <ImageView
            android:id="@+id/number_nine"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/number_nine"
            android:layout_marginLeft="10dp"
            />

        <ImageView
            android:id="@+id/mul"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/mul"
            android:layout_marginLeft="10dp"
            />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:gravity="center"
        android:layout_weight="1"
        >
        <ImageView
            android:id="@+id/clear"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/clear"
            />

        <ImageView
            android:id="@+id/backspace"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/backspace"
            android:layout_marginLeft="10dp"
            />

        <ImageView
            android:id="@+id/div"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/div"
            android:layout_marginLeft="10dp"
            />

        <ImageView
            android:id="@+id/equal"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/equal"
            android:layout_marginLeft="10dp"
            />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:gravity="center"
        android:layout_weight="1"
        >
        <ImageView
            android:id="@+id/clearx"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/clear"
            />

        <ImageView
            android:id="@+id/backspacex"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/backspace"
            android:layout_marginLeft="10dp"
            />

        <ImageView
            android:id="@+id/divx"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/div"
            android:layout_marginLeft="10dp"
            />

        <ImageView
            android:id="@+id/equalx"
            android:layout_width="0dip"
            android:layout_weight="0.25"
            android:layout_height="wrap_content"
            android:src="@drawable/equal"
            android:layout_marginLeft="10dp"
            />
    </LinearLayout>
</LinearLayout>

抱歉我的英文。

编辑: 修复了将父layout_height更改为fill_parent

的问题

1 个答案:

答案 0 :(得分:2)

不要忘记在LinearLayout上定义方向

android:orientation="vertical"

或横向..