安卓叠加视图

8

我想要的视图如图所示:

example


建议您使用Canvas吗?如果不是,那么请使用RelativeLayout。这将有助于您创建此类视图。 - Shreyash Mahajan
2个回答

11

如果需要这样的功能,您可以使用FrameLayout

例如 - 1:

 <FrameLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android">
    <ImageView 
        android:src="@drawable/icon"
        android:scaleType="fitCenter"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"/>
    <TextView
        android:text="Learn-Android.com"
        android:textSize="24sp"
        android:textColor="#000000"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:gravity="center"/>
</FrameLayout>

更新:

例如 - 2:在此找到的绝佳示例和技巧:http://www.curious-creature.org/2009/03/01/android-layout-tricks-3-optimize-part-1/

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 

        android:scaleType="center"
        android:src="@drawable/golden_gate" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dip"
        android:layout_gravity="center_horizontal|bottom"

        android:padding="12dip"

        android:background="#AA000000"
        android:textColor="#ffffffff"

        android:text="Golden Gate" />

</FrameLayout>

0
将这两个自定义视图放在相对布局中,就会得到您在图像中展示的效果。
是的,如果您没有绘制任何内容,customview2 将在透明区域。为了避免这种情况,您需要为该视图设置一个背景。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接