在android中相对于屏幕宽度缩放图像

我有一个布局与两个图像:

>一个应该拉伸到屏幕宽度
>其中一个应该缩放到相同的比例,第一个是自动缩放(相对于原始图像大小)

更具体:两个图像是相同图像的切片,因此其中的一些细节应该匹配.
我可以用XML做这个吗?

如果我不能通过XML来做,也许我可以预先绘制图形.在这种情况下,我该如何预定义?

最佳答案
这是一个黑客,但它会允许你在xml中这样做.

例如,如果您知道顶部图像是底部尺寸的X%,则可以使用LinearLayout的layout_weight来根据屏幕百分比来定位和设置顶部图像的大小:

<LinearLayout android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <ImageView android:id="@+id/left_filler" android:layout_weight="20"
        android:layout_width="wrap_content" android:layout_height="wrap_content"/>
    <ImageView android:id="@+id/top_image" android:layout_weight="50"
        android:layout_width="wrap_content" android:layout_height="wrap_content"/>
    <ImageView android:id="@+id/right_filler" android:layout_weight="30"
        android:layout_width="wrap_content" android:layout_height="wrap_content"/>
</LinearLayout>
 ... bottom image

以上将在屏幕的50%处将top_image的尺寸设置为从左侧偏移20%.只要top_image是bottom_image的大小的50%,这将保持类似的比例.

或者,执行此操作的“正确”方式可能是在自定义视图中覆盖onDraw()并使用画布绘制方法.

转载注明原文:在android中相对于屏幕宽度缩放图像 - 代码日志