Текстовое поле на заказ - PullRequest
       43

Текстовое поле на заказ

0 голосов
/ 03 сентября 2018

i want to design this text box with dynamic text

Я хочу создать текстовое поле выше, но не понимаю, как это сделать.

У меня есть поиск PNG, SVG для выше не нашел ни одного.

Пожалуйста, помогите мне с любым предложением?

1 Ответ

0 голосов
/ 03 сентября 2018

Решение: Использование LayerDrawable для создания дизайна текстового поля.

Что такое LayerDrawable просто?

LayerDrawable - это рисуемый объект, который управляет массивом других . вводимый коэффициент Каждый рисующий в списке рисуется в порядке list - последняя отрисовка в списке рисуется сверху.

Каждый чертеж представлен элементом внутри одного элемент.

Из вашего текстового поля я разделю на 4 элемента.

  • Значок стрелки в центре по горизонтали вверху
  • Текстовое поле в прямоугольнике
  • Верхнее левое изображение в растровом изображении
  • Верхний правый угол в растровом изображении

Поместить все в background_text_box.xml файл:

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

    <!-- The arrow in triangle by rotate a rectangle 45 degrees -->
    <item
        android:width="10dp"
        android:height="10dp"
        android:gravity="center_horizontal"
        android:top="0dp">
        <rotate android:fromDegrees="45">
            <shape android:shape="rectangle">
                <solid android:color="#FFF1A4" />
            </shape>
        </rotate>

    </item>

    <!-- The content in rectangle -->
    <item
        android:width="300dp"
        android:height="100dp"
        android:gravity="fill"
        android:top="5dp">
        <shape android:shape="rectangle">
            <solid android:color="#FFF1A4" />
        </shape>
    </item>

    <!-- The left corner image in bitmap-->
    <item
        android:gravity="top|left"
        android:top="5dp">
        <bitmap android:src="@drawable/icon" />
    </item>

    <!-- The right corner image in bitmap -->
    <item
        android:gravity="top|right"
        android:top="5dp">
        <bitmap android:src="@drawable/icon" />
    </item>

</layer-list>

Результат выглядит так:

enter image description here

Давайте проверим это:

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingStart="50dp"
        android:paddingEnd="50dp"
        android:gravity="center"
        android:text="Congratulation...!\nLaxminarayan is top performaer\nof month December 2017"
        android:background="@drawable/background_text_box"/>
</LinearLayout>

Текстовое поле выглядит так:

enter image description here

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