Android: как сделать центрированное фоновое изображение на виде - PullRequest
6 голосов
/ 13 июня 2010

Я хотел бы использовать маленькое (размер значка) изображение в качестве фона для моего вида, но оно растягивается, чтобы заполнить весь вид.

Будем признательны за любое решение (в том числе способ разместить вид под моим текущим и сделать последний прозрачным).

Спасибо!

текущий код:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
  android:background="@drawable/icon"
  android:id="@+id/layout_main"
 >

1 Ответ

12 голосов
/ 13 июня 2010

У вас есть два варианта:

  1. Увеличьте изображение. В частности, добавьте одну черную линию по всем ее краям, затем используйте инструмент tools / draw9patch, чтобы сделать эту черную линию «растягиваемой» частью. Когда изображение масштабируется до фона, исходный значок не будет растягиваться.

  2. Откажитесь от android: background и используйте взамен верхний уровень RelativeLayout. Это должно работать

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ImageSwitcher
        android:id="@+id/ImageSwitcher01"
        android:layout_width="wrap_content"
        android:layout_centerInParent="true"
        android:layout_height="wrap_content"
        android:background="@drawable/icon">
    </ImageSwitcher>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true">
        <TextView
            android:text="Your old top level here"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content">
        </TextView>
    </LinearLayout>
</RelativeLayout>

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

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