Как наложить изображение на элемент внутри LinearLayout - PullRequest
0 голосов
/ 22 февраля 2012

Я пытаюсь создать учебник в своем приложении для Android и хочу добавить несколько шариков поверх некоторых элементов пользовательского интерфейса. Мой пользовательский интерфейс построен на 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 Ответ

3 голосов
/ 22 февраля 2012

вы можете создать 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);
...