RelativeLayout фоновое изображение + цвет - PullRequest
0 голосов
/ 30 сентября 2011

У меня есть RelativeLayout, где мне нужно иметь черный фон и маленькое изображение точно посередине. Я использовал этот код:

  <RelativeLayout
    android:id="@+id/bottomBox"
    android:layout_weight="4"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/bottom_box_back"
    android:layout_marginTop="4dp"
    />

, где @drawable/bottom_box_back:

<bitmap 
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/logo_icon"
android:tileMode="disabled"
android:gravity="center"
android:filter="true"
/>

Таким образом, я отцентрировал изображение. Но фон все еще серый как главное окно. Мне нужна черная спина, чтобы изображение распространилось по всему пространству RelativeLayout. Есть предложения?

Ответы [ 2 ]

1 голос
/ 30 сентября 2011

Я бы сделал фон вашего RelativeLayout черным, а затем поместил изображение в ImageView и центрировал его по центру RelativeLayout, так:

<RelativeLayout
    android:background="@color/yourBlackColor">

    <ImageView
        android:layout_centerInParent="true">
    </ImageView>

</RelativeLayout>

Надеюсь, это поможет вам

0 голосов
/ 15 мая 2014

Другим вариантом является использование изображения с 9 патчами. На самом деле вы можете иметь несколько растягиваемых областей на изображении с 9 участками, поэтому все, что вам нужно сделать, это поместить нужное вам изображение по центру в среднюю область, а затем окружить его черным цветом, который вы хотите использовать в качестве фона. Затем при объявлении растягиваемых областей выберите области выше, ниже и слева и справа от изображения как растягиваемые. Когда приложение растягивает области, оно растягивает их равномерно, поэтому изображение будет оставаться в центре, пока растягиваемые области имеют одинаковый размер.

Я знаю, что у этого уже есть принятый ответ, но я подумал, что это был еще один изящный способ выполнить то же самое, не добавляя другой вид изображения в макет.

...