使用LinearLayout权重缩放ImageView会产生异常..?

时间:2014-07-23 18:52:44

标签: android android-layout android-linearlayout android-imageview

好吧,所以我试图设置一个图像:

  • 图像的底部与布局的中心对齐

  • 图像随布局缩放以适合背景图像

我为实现这一目标所做的工作如下:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:weightSum="2"
    android:orientation="vertical">
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_weight="1">
        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0.9"/>
        <ImageView
            android:id="@+id/widget_icon"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:layout_weight="0.1"
            android:src="@drawable/widget_icon"/>
    </LinearLayout>
    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"/>
</LinearLayout>

所以我希望无论窗户的高度/宽度是多少,我都希望图像占据窗口上半部分的10%,但我已经意识到它是&#39不是这样的..似乎图像没有缩小到它的真实&#34;真实的&#34;尺寸?我并不完全确定,但是当涉及到widget_icon时,我发现了一些非常不稳定且看起来不是线性缩放的问题。这是一个已知问题还是我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

您应该查看ImageView ScaleTypes

看起来你可能也不了解体重是如何起作用的

通常将宽度或高度设置为0dp,然后设置权重。如果你有2个项目并且你将权重设置为1它们将占据相应宽度或高度的一半..如果你将一个设置为1而另一个设置为2,那么设置为2的那个将占用2/3布局的宽度或高度以及设置为1的那个将是1/3

希望有所帮助