android中的重叠视图?

时间:2011-02-25 11:17:12

标签: android graphics imageview android-canvas overlapping

我有一个linearlayout,它有一个文本框(多行,近5行)和图像视图。是否可以在textview上绘制图像(重叠)?

注意:我必须指定图像的坐标,这些坐标不是静态的,可能位于文本上方的任何位置。

像这样的样机:

enter image description here

4 个答案:

答案 0 :(得分:1)

我认为可以使用RelativeLayout来实现。

    <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="wrap_content" >

        <TextView
                android:id="@+id/Textview"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="20dp"
                android:text="@string/Text2display"
                android:textColor="#EEDCAA" />


        <ImageView
            android:id="@+id/choose_img"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="-46dp"
            android:adjustViewBounds="true"
            android:contentDescription="@string/description_logo"
            android:src="@drawable/user2" />

    </RelativeLayout>

通过将TextView块放在ImageView上方,可确保图像视图与TextView重叠。现在,根据您的要求和位置,使用链接中的以下命令: -

http://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams.html

您可以左右对齐,上下对齐。使用负值来导航ImageView,如果你使用对齐底部和东西..这将使它重叠。如果这有用,请告诉我

线性布局有什么特定原因吗?

答案 1 :(得分:0)

您可以使用RelativeLayout轻松完成此操作。您可以使ImageView重叠TextView除非使用LinearLayout有特定原因。

答案 2 :(得分:0)

如果你真的(真的)需要使用LinearLayout,你可以继承TextView并覆盖onDraw来绘制你的图像。

答案 3 :(得分:0)

all your xml files中,应为其定义背景颜色,它将解决问题:

将此android:background="@android:color/black"添加到您定义的View标记中。