Android中可能有重叠的视图吗?我想要一个ImageView,前面有透明的png,后面有另一个视图。
编辑:
这就是我目前的问题,问题是imageView中的图像不透明,应该透明的部分只是黑色。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/gallerylayout"
>
<Gallery android:id="@+id/overview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<ImageView android:id="@+id/navigmaske"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/navigmask"
/>
</RelativeLayout>
编辑:
我得到了它的工作,这是团队中另一位程序员的主题文件。 刚刚改变了这个
<item name="android:background">#FF000000</item>
到这个
<item name="android:background">#00000000</item>
答案 0 :(得分:68)
Android本地处理视图和绘图(包括PNG图像)之间的透明度,因此您描述的场景(ImageView
前面的部分透明Gallery
)肯定是可能的。
如果您遇到问题,可能与布局或图片有关。我已经复制了你描述的布局并成功实现了你想要的效果。这是我使用的确切布局。
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gallerylayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Gallery
android:id="@+id/overview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<ImageView
android:id="@+id/navigmaske"
android:background="#0000"
android:src="@drawable/navigmask"
android:scaleType="fitXY"
android:layout_alignTop="@id/overview"
android:layout_alignBottom="@id/overview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</RelativeLayout>
请注意,我已将父RelativeLayout
更改为fill_parent
的高度和宽度,这通常是您想要的主活动。然后我将ImageView
的顶部和底部对齐到Gallery
的顶部和底部,以确保它位于其前面。
我还明确将ImageView
的背景设置为透明。
至于图像绘制本身,如果你把PNG文件放在某个地方供我查看,我可以在我的项目中使用它,看看它是否有责任。
答案 1 :(得分:9)
另外,请查看FrameLayout
,这是相机的图库应用程序实现缩放按钮叠加的方式。
答案 2 :(得分:7)
如果要在布局上添加自定义叠加屏幕,可以创建自定义线性布局并控制绘图和关键事件。您可以在Android布局上覆盖我的教程 - 覆盖 - http://prasanta-paul.blogspot.com/2010/08/overlay-on-android-layout.html
答案 3 :(得分:1)
可见图库会更改可见性,这是您在其他视图重叠时获取图库的方式。 Home示例应用程序有一些很好的例子。
答案 4 :(得分:0)
最简单的方法是将-40dp边距放在顶部imageview的底部
答案 5 :(得分:-2)
是的,这是可能的。然而,挑战在于正确地进行布局。最简单的方法是使用AbsoluteLayout,然后将两个图像放在您想要的位置。除了稍后将其添加到布局中之外,您不需要对透明png执行任何特殊操作。