#android #android-view
#Android #android-просмотр
Вопрос:
Мне нужно реализовать макет, аналогичный приведенному выше изображению
Моя реализация
- Создал треугольную форму в XML (shape_triangle.xml ).
- В горизонтальном линейном макете добавлено несколько видов изображений с 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 и используйте его в качестве фона