具有重叠项目的Android布局

时间:2011-09-25 06:43:50

标签: android android-layout android-canvas

是否可以使用两个自定义视图获得类似下面的视图?

如果我要使用画布在视图中绘制内容,是否可以通过第二个视图查看第一个视图的其余部分?

layout

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

将2个自定义视图放在相对布局中将显示您在图像中显示的内容。

是的,customview2在您不绘制任何内容的区域中将是透明的。为避免这种情况,您需要为该视图设置背景。