Android: Как создать макет треугольника для билета?

#android #android-view

#Android #android-просмотр

Вопрос:

Как создать такой дизайн билета?

Мне нужно реализовать макет, аналогичный приведенному выше изображению

Моя реализация

  1. Создал треугольную форму в XML (shape_triangle.xml ).
  2. В горизонтальном линейном макете добавлено несколько видов изображений с src как «shape_triangle»

Вопрос: Есть ли какой-нибудь лучший подход для этого?

В моем XML мне нужно добавить несколько видов изображений внутри горизонтального линейного макета. Итак, вместо добавления нескольких видов изображений, могу ли я сделать что-то лучше?

Моя реализация кода

shape_triangle.xml

 <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <rotate
            android:fromDegrees="45"
            android:pivotX="-40%"
            android:pivotY="87%"
            android:toDegrees="45">
            <shape android:shape="rectangle">
                <stroke
                    android:width="10dp"
                    android:color="#c6802a" />
                <solid android:color="#c6802a" />
            </shape>
        </rotate>
    </item>
</layer-list>
  

my_layout.xml

 <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />

                    <androidx.appcompat.widget.AppCompatImageView
                        android:layout_width="@dimen/dimen_20dp"
                        android:layout_height="20dp"
                        android:rotation="180"
                        android:src="@drawable/pass_shape_triangle" />
                </LinearLayout>
  

Комментарии:

1. Просто используйте изображение с 9 патчами в качестве фона. Создать его с помощью drawable сложно. Вы можете создать пользовательский вид, который также является сложной ссылкой . Поэтому лучше использовать изображение с 9 патчами в качестве фона.

2. создайте векторный ресурс из вашего файла png и используйте его в качестве фона