Задать вопрос
cyberia
@cyberia
Веб-разработчик, плавно перехожу в мобильные разра

Как правильно заполнить бекграунд картинкой в Andoid?

c9a0919cdc9143ad816617c00b5f86ab.png
Пытаюсь сделать такой титл бар. Сейчас это организованно следующим образом: LinearLayout с бекграундом, в качестве которого битмап.


Кусок лейаута:
<LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/linearLayout"
        android:background="@drawable/header_bg"
        android:gravity="center_horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="ЗАКАЗ ТАКСИ"
            android:id="@+id/textView5"
            android:background="#f9d25e"
            android:gravity="center_vertical|center_horizontal"
            android:textStyle="bold"
            android:textColor="#000"
            android:textSize="20sp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp" />

    </LinearLayout>

header_bg.xml:
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/header_app"
    android:tileMode="repeat"
    android:dither="true" />

где @drawable/header_app есть PNG размером 20×80px

Вопроса два:
  1. Правильно ли сверстано подобная плашка? Я из веба недавно, возможно еще мыслю на уровне HTML.
  2. Как правильно работать с изображениями при разной плотности пикселей у дисплея? Сейчас в режиме Design при проектировании лейаута это выглядит как на скриншоте сверху, при запуске на эмуляторе изображение отображается в полразмера. Если header_app.png уменьшить до 10х40 тогда в эмуляторе все хорошо, но при проектировании вижу замощенную по вертикали и горизонтали картинку (MBP Retina)
  • Вопрос задан
  • 2347 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@onepavel
Консультация и разработка мобильных приложений
Была подобная задача, бекграунд с шашечками я бы перевел в 9patch developer.android.com/tools/help/draw9patch.html
вы тогда избавляетесь от android:tileMode="repeat"
и вам нужно смотреть для какого разрешения ваша картинка,
developer.android.com/guide/practices/screens_supp...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Aleksadar
Muzika
Caco
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы