如何在LinearLayout内的元素上叠加图像

时间:2012-02-22 18:25:04

标签: android android-linearlayout relativelayout

我正在尝试在我的Android应用程序中创建一个教程,我想在一些UI元素上添加一些气球。我的用户界面建立在LinearLayouts之上。

如何将浮动图像放在LinearLayout的特定位置(即id =“@ id / email”的文本字段旁边)。

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="10dp" >

    <TextView android:id="@+id/email"
        style="@style/LoginBarText"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="3.0dp"
        android:text="Email:" />
</LinearLayout>

我知道唯一能够重叠元素的布局是RelativeLayout,但它不适用于其他布局中的元素。

由于

1 个答案:

答案 0 :(得分:3)

您可以创建RelativeLayout并添加原始LinearLayout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <include 
            layout="@layout/layout_original" 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" />
    <include 
            layout="@layout/layout_overlay" 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" />
</RelativeLayout>

或者,如果你只需要在元素旁边添加一个图像(不在其上面),请尝试:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="10dp" 
    android:orientation="horizontal">

    <ImageView android:id="@+id/image"
    android:src="@drawable/imagename"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:visibility="invisible" />

    <TextView android:id="@+id/email"
    style="@style/LoginBarText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="3.0dp"
    android:text="Email:" />
</LinearLayout>

然后在Activity调用中

image = (ImageView) findViewById(R.id.image);
image.setVisibility(View.VISIBLE);