0

我有 2 张图片 main_bg 和一张透明图片船。Ship 是从 main_bg 裁剪的,我想将裁剪后的图像 ship 放在 main_bg 上 ship 在 main_bg 上出现的确切位置。当我使用

android:layout_width="match_parent" android:layout_height="match_parent"

船看起来像一个细长的。当我使用“wrap_content”而不是“match_parent”时,它显示为一个小图像。如何在 main_bg 上设置 ship 的确切宽度和高度。

这是我的 xml 代码。

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/main_bg" 
android:gravity="left" 
android:orientation="horizontal">
     <LinearLayout 
    android:id="@+id/ship" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/ship" 
    android:orientation="vertical">
</LinearLayout>

我怎样才能正确放置它?

4

3 回答 3

0

使用这篇文章中的 LayeredImageView如何维护多层 ImageView 并根据最大的一个保持它们的纵横比?,请参阅带有标志的示例如何放置图层

于 2013-09-12T06:53:35.270 回答
0

您可以使用两个FrameLayout并执行以下操作:

<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="@drawable/main_bg" >

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/ship" >

    </FrameLayout>

</FrameLayout>
于 2013-09-12T06:34:48.177 回答
0

您应该尝试使用 FrameLayouts 将一个图像叠加到另一个图像上。喜欢:

FrameLayout
    Image
FrameLayout
    Image

并根据需要设置 FrameLayouts 的尺寸。

于 2013-09-12T06:28:58.250 回答