Android xml - наложение текста / изображений в относительном макете - PullRequest
0 голосов
/ 07 ноября 2011

Я пытаюсь создать фон для каждой строки ListActivity. У меня есть два фоновых изображения, которые мне нужно разместить рядом. Существует изображение leftshopitem, которое служит заполнителем для значка элемента, и изображение rightshopitem, на которое должна быть записана текстовая информация.

В основном мне нужны следующие свойства: мне нужно, чтобы значок изображения центрировался над изображением leftshopitem, и мне нужно, чтобы текстовые представления отображались поверх изображения rightshopitem.

На данный момент у меня есть этот код, который, как я понимаю, совершенно неверен. Фоновые изображения отображаются правильно выровненными, а значок и текст - нет. Я предполагаю, что мой вопрос, как я могу сделать imageView «родителем», чтобы я мог разместить другие объекты относительно его положения.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

        <ImageView
            android:id="@+id/leftbackground"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:src="@drawable/leftshopitem" />

        <ImageView
            android:id="@+id/img"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_centerInParent="true"
        />

        <ImageView
        android:id="@+id/rightbackground"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/leftbackground"
        android:src="@drawable/rightshopitem" />


    <LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingLeft="10dp" 
         >
    <TextView
        android:id="@+id/name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textColor="#000000"
       />

    <TextView
        android:id="@+id/weight"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textColor="#000000"
        android:textSize="16sp"
         />

    </LinearLayout>

</RelativeLayout>

1 Ответ

1 голос
/ 07 ноября 2011

Вы можете использовать android_layout_toLeftOf="@id/leftbackground", android_layout_toRightOf="@id/leftbackground" и т. Д. Для «размещения других объектов относительно его положения».

Если вы вместо этого используете android:align_parentLeft="true" и т. Д., Вы можете поместить один вид поверх другого в соответствии с вашимneeds.

Вы также можете установить изображение в качестве фона (что-то вроде «сделать imageView« родительским ») в одном из ваших RelativeLayouts, используя android:background="@drawable/leftshopitem".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...