我有两张图片的布局:
更具体:两张图片是同一张图片的切片,因此其中的一些细节应该匹配。
我可以用XML制作吗?
如果我不能通过XML完成,也许我可以预先缩放图形。在这种情况下,我应该如何对它们进行预定标?
答案 0 :(得分:6)
这有点像黑客,但它允许你在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
上面的内容会将top_image的大小设置为屏幕的50%,偏离左边20%。只要top_image的大小是bottom_image的50%,这将保持相似的比例。
或者,执行此操作的“正确”方法可能是在自定义视图中覆盖onDraw()并使用画布绘制方法。
答案 1 :(得分:0)
您可以使用Canvas
类方法drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint)
通过自动缩放/平移来填充目标矩形来绘制指定的位图。这可以用于具有不同Rect的位图。可以通过划分布局的当前宽度和高度来制定Rect。因此,程序将根据具有不同屏幕尺寸的设备缩放图像。