将图像放在另一个在 Android 中拉伸的图像上

Posted

技术标签:

【中文标题】将图像放在另一个在 Android 中拉伸的图像上【英文标题】:Placing an image on another which is stretched in Android 【发布时间】:2011-03-16 06:47:38 【问题描述】:

我有一个 UI,其中我有一次图像作为背景,因此它会自行拉伸以填充屏幕。我想在 w.r.t. 的特定位置放置另一个图像。原始图像。我该怎么做?

更详细地说,假设我有一个 320x320 的图像在背景中,并且在 (50,50)(left top corner) 有一个 20x20 的白色正方形。我有另一个 20x20 的图像应该填充它。现在,当背景拉伸时,我希望这个图像相应地拉伸和放置,以便适合那个白框本身。

例如假设我用 2 个黄色框跟踪 bckgrnd 图像。现在前景图像将准确地放置在上面的黄色框中。由于背景图像会扩大/缩小(沿 x 和 y 方向差异太大),前景也应拉伸和定位自身以适合黄色框。

背景图片:http://oi52.tinypic.com/2yn5nut.jpg

前景图片:http://i52.tinypic.com/dm3503.png

这是我现在的 xml 文件。 Pt.(32,47)是背景img中顶部黄色框的左上角

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_
    android:layout_ android:background="@drawable/bkgrnd">
    <ImageView android:id="@+id/imageView1" android:layout_
        android:layout_ android:src="@drawable/foregrnd"
        android:scaleType="fitXY" android:layout_marginTop="42px"
        android:layout_marginLeft="37px">
    </ImageView>
</RelativeLayout>

【问题讨论】:

它的输出是水平的:i52.tinypic.com/50ftkw.png 垂直的:i52.tinypic.com/2ikxuab.png 现在我希望前景图像可以缩放并定位到顶部的黄色框 【参考方案1】:

请告诉我你使用的是什么布局???

根据我的理解,我认为您有 2 张图片,您想要一张作为背景图片,另一张图片作为您的前景图片。 为此,您可以使用相对布局并将其高度和宽度设置为“fill_parant” 并将您的第一张图片设置为相对布局的背景。使用 android:background = "firstimage"

然后将另一个图像视图放置在您想要的任何位置。

【讨论】:

我使用的是线性布局。已添加图片以准确解释问题 @ajain:要准确放置任何小部件,您需要使用相对布局。通过从顶部和左侧提供边距,将第二个图像视图放置在上部黄色框上,并获取设置属性 fitxy = true 我如何知道顶部和左侧的边距,因为 bckgrnd 图像可能会根据屏幕尺寸改变其比例 输出为水平:i52.tinypic.com/50ftkw.png 垂直:i52.tinypic.com/2ikxuab.png 现在我希望前景图像缩放和定位以适合顶部黄色框

以上是关于将图像放在另一个在 Android 中拉伸的图像上的主要内容,如果未能解决你的问题,请参考以下文章

如何将图像放在另一个图像视图中

拉伸图像以适应 td

使用python将图像放在另一个图像上

PHP - 将图像放在另一个图像上

android:在imageview中拉伸图像以适应屏幕

UIImageView 在边框上拉伸/重复图像并保持其质量