Как нарисовать прямоугольник, линию?

Ответить
Oleg_SS
Сообщения: 34
Зарегистрирован: 11 янв 2012, 10:59

Как нарисовать прямоугольник, линию?

Сообщение Oleg_SS » 12 янв 2012, 15:09

На форме есть кнопки, текст и т.д.
Теперь хочу все это заключить в прямоугольник с заданной толщиной и цветом линии.
На подобие рамки (двойной рамки).
Чтобы не зависило от размера и положения экрана.
Как это сделать?

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Как нарисовать прямоугольник, линию?

Сообщение damager82 » 12 янв 2012, 15:13

Можно не рисовать, а сделать картинку и ее поставить как background.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Аватара пользователя
RagnarR
Сообщения: 29
Зарегистрирован: 11 янв 2012, 11:02
Откуда: Belarus

Re: Как нарисовать прямоугольник, линию?

Сообщение RagnarR » 12 янв 2012, 15:29

damager82 писал(а):Можно не рисовать, а сделать картинку и ее поставить как background.
Можно, но если будет картинка будет менять размер, могут появиться артефакты. Для простых вариантов можно использовать Shape. В папке /res/drawable проекта создается xml-файл. Файл должен быть примерно с таким содержанием:

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <gradient
        android:angle="270"
        android:endColor="#FFAAAAAA"
        android:startColor="#FFFFFFFF"
        android:type="linear" />

    <stroke
        android:width="1dip"
        android:color="@android:color/white" />

    <corners android:radius="3dip" />

</shape>
Где gradient - это градиент фигуры, stroke - это контур, corners - это закругление на углах.

Далее надо установить у необходимого элемента background'ом этот xml-файл:

Код: Выделить всё

android:background="@drawable/your_bg_shape"
P.S.: Можно еще использовать утилитку для создания тянущихся PNG файлов (NinthPatch)
--[+++++++<---->>-->+>+>+<<<<]
<.>++++[-<++++<++>>>->--<<]>>-.>--..>+.<<<.<<-.>>+>->>.+++[.<]<<++.

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Как нарисовать прямоугольник, линию?

Сообщение damager82 » 12 янв 2012, 15:44

RagnarR писал(а):P.S.: Можно еще использовать утилитку для создания тянущихся PNG файлов (NinthPatch)
Ну да, я имел ввиду *.9.png файлы.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Oleg_SS
Сообщения: 34
Зарегистрирован: 11 янв 2012, 10:59

Re: Как нарисовать прямоугольник, линию?

Сообщение Oleg_SS » 13 янв 2012, 05:32

Получилось, спасибо!
А если маленько усложнить?
Как получить двойную рамку?
Я так понимаю надо вставить один прямоугольник в другой. Но как?

Еще вопрос: в папке res по умолчанию три папки
drawable-hdpi
drawable-ldpi
drawablw-mdpi
для разных разрешений дисплея.
Если создать просто папку drawable, она будет для любого разрешения экрана?

Oleg_SS
Сообщения: 34
Зарегистрирован: 11 янв 2012, 10:59

Re: Как нарисовать прямоугольник, линию?

Сообщение Oleg_SS » 13 янв 2012, 05:56

по поводу двойной рамки вопрос снят
вставил один LinearLayout в другой, каждый со своим описанием backgrounda

Аватара пользователя
RagnarR
Сообщения: 29
Зарегистрирован: 11 янв 2012, 11:02
Откуда: Belarus

Re: Как нарисовать прямоугольник, линию?

Сообщение RagnarR » 13 янв 2012, 08:54

Oleg_SS писал(а): Еще вопрос: в папке res по умолчанию три папки
drawable-hdpi
drawable-ldpi
drawablw-mdpi
для разных разрешений дисплея.
Если создать просто папку drawable, она будет для любого разрешения экрана?
Да, конечно для любого. Эта папка общая для всех разрешений.
--[+++++++<---->>-->+>+>+<<<<]
<.>++++[-<++++<++>>>->--<<]>>-.>--..>+.<<<.<<-.>>+>->>.+++[.<]<<++.

assan
Сообщения: 48
Зарегистрирован: 24 мар 2013, 22:31

Re: Как нарисовать прямоугольник, линию?

Сообщение assan » 01 июл 2013, 05:58

а как нарисовать линию в 2px?

Ответить