如何在Android的一个屏幕上显示多个图像像photoshop层

时间:2013-01-24 14:09:06

标签: android android-layout android-canvas

我是Android开发的新手,所以我没有多少经验。

我想开发一个儿童应用程序,我希望以组合的方式显示天空,山脉,河流的显示图像(png或位图),儿童可以改变天空的颜色(这意味着只有天空位图将改变)。

我希望像Photoshop图层一样显示所有位图,以便孩子们可以通过点击按钮为视图添加树或小山。

请指导我如何处理这种图像处理。我必须使用哪种技术?

3 个答案:

答案 0 :(得分:0)

只是一个起点:

  • 您的所有位图都必须具有透明背景。
  • 使用RelativeLayout并在其上添加您的位图(RelativeLayout允许您将孩子彼此重叠)
  • 您可以使用margin将位图定位到RelativeLayout
  • 中所需的位置

修改

这是一个简单的布局,其中2个位图(image1和image2都具有透明背景)相互重叠。

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical"
            android:id="@+id/relativeLayout"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"

    >
     <ImageView
            android:background="@drawable/image1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

     <ImageView
            android:background="@drawable/image2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
</RelativeLayout>

答案 1 :(得分:0)

请看这个链接:

Render Two images in ImageView in Android?

我正在使用Canvas解决方案,这对我来说很好。

答案 2 :(得分:0)

这取决于您的要求。如果你真的想创建复杂的应用程序,我会建议你使用游戏引擎。例如,像cocos-2dx。它是免费的,跨平台的,并且有许多开箱即用的图形处理功能。有层,过滤器,动画......它的工作速度非常快。

如果你是android SDK粉丝,那么创建一个自定义视图并使用它的画布。这不容易。但如果你的应用程序足够简单,你最好坚持使用画布。