Установите фоновое изображение за 2 текстовыми представлениями в XML-файле Android

#android #xml #layout #android-relativelayout

#Android #xml #макет #android-relativelayout

Вопрос:

Если у вас есть какие-либо знания о макетах XML в Android, пожалуйста, быстро взгляните. У меня есть следующий XML-макет, который отображает изображение, затем отображает адрес и номер телефона под ним.

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:background="@drawable/mainbackground"
          android:layout_width="fill_parent" 
          android:layout_height="fill_parent"
          android:orientation="vertical" 
          android:id="@ id/view1">
   <ImageView android:id="@ id/imageView1" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:layout_centerHorizontal="true"
    android:layout_marginTop="50px"
    android:padding="12dip"
    android:background="#FFFFFF">
  </ImageView>
  <TextView android:id="@ id/addressView" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_below="@id/imageView1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20px"
        android:padding="12dip"
        android:textColor="#000000"
        android:background="#FFFFFF">
   </TextView>
   <TextView android:id="@ id/phoneView"
        android:textColor="#0000FF" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_below="@id/addressView"
        android:layout_centerHorizontal="true"
        android:padding="12dip"
        android:background="#FFFFFF">
    </TextView>
</RelativeLayout>
  

В настоящее время я просто использую теги android: padding и android: background, чтобы установить белый фон за ImageView и обоими TextViews. У меня это отлично работает для просмотра изображения. Для текстовых представлений они, очевидно, имеют 2 отдельных границы / фона. Однако я хотел бы установить одно белое фоновое изображение за обоими текстовыми представлениями вместо двух отдельных границ / фонов. Смотрите это изображение для получения более подробной информации о том, как я хотел бы, чтобы выглядел конечный результат:

http://img84.imageshack.us/i/homeview.png/

Я просто не уверен, как «обернуть» это белое поле вокруг обоих текстовых представлений. Очевидно, что теги android: padding и android: background могут быть неподходящими для этого. Если кто-нибудь может помочь, мы были бы очень признательны!

Ответ №1:

Установите изображение в качестве фона для LinearLayout, которое содержит оба TextViews, и все готово.

Комментарии:

1. Спасибо за ваш пост! Я изменил свой макет на LinearLayout и попробовал несколько вещей, но все еще нахожусь на том же месте, что и раньше. Не могли бы вы предоставить более подробную информацию или пример того, что вы имеете в виду (на основе моего кода)?

2. Неважно, я неправильно прочитал ваш комментарий.. Я думал, вы имели в виду изменить весь мой макет на LinearLayout. Теперь я понял! Еще раз спасибо 🙂

Ответ №2:

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:background="@drawable/button_blue"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical"
                android:id="@ id/view1">
    <ImageView android:id="@ id/imageView1"
               android:layout_height="wrap_content"
               android:layout_width="wrap_content"
               android:layout_centerHorizontal="true"
               android:layout_marginTop="50px"
               android:padding="12dip"
               android:background="#FFFFFF">
    </ImageView>

    <LinearLayout
            android:id="commonBackgroundImage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#FFFFFF"
            android:layout_below="@id/imageView1"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="20px"
            android:padding="12dip"
            android:orientation="vertical">

        <TextView android:id="@ id/addressView"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:textColor="#000000"
                  android:text="text1">
        </TextView>
        <TextView android:id="@ id/phoneView"
                  android:textColor="#0000FF"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="text2">
        </TextView>

    </LinearLayout>
</RelativeLayout>