首页 > 解决方案 > 创建自定义复杂的xml形状android

问题描述

如何像在附件中一样创建形状,并将它们用作 TextViews 的背景?另外请给我一个链接到创建自定义复杂形状的指南

附件链接

标签: androidandroid-studioandroid-xmlandroid-drawable

解决方案


要创建自定义形状,这里是 Github 项目-ShapeOfView

从 ShapeOfView 你可以使用com.github.florent37.shapeofview.shapes.DiagonalView

依赖:implementation 'com.github.florent37:shapeofview:(lastest version)'

试试下面的代码:

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <com.github.florent37.shapeofview.shapes.DiagonalView
            android:layout_weight=".5"
            android:layout_width="0dp"
            android:layout_height="40dp"
            app:shape_diagonal_angle="-10"
            app:shape_diagonal_position="right">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="Text1"
                android:gravity="center"
                android:layout_gravity="center"
                android:textColor="@android:color/white"
                android:background="@drawable/bg_left_side"/>
        </com.github.florent37.shapeofview.shapes.DiagonalView>
        <com.github.florent37.shapeofview.shapes.DiagonalView
            android:layout_weight=".5"
            android:layout_width="0dp"
            android:layout_height="40dp"
            app:shape_diagonal_angle="-10"
            app:shape_diagonal_position="left">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="Text2"
                android:gravity="center"
                android:layout_gravity="center"
                android:textColor="@android:color/white"
                android:background="@drawable/bg_right_side"/>
        </com.github.florent37.shapeofview.shapes.DiagonalView>
    </LinearLayout>

上述代码的输出是: 在此处输入图像描述

我希望这个对你有用。


推荐阅读