如何在 Android 中创建顶部有切口的 TicketView?

问题描述 投票:0回答:1

我正在开发一个 Android 应用程序,我想创建一个顶部有明显切口的自定义 TicketView。我正在使用 com.vipulasri:ticketview 库,并且我已经成功创建了一个基本的 TicketView。然而,我正在努力弄清楚如何在顶部添加切口以赋予其独特的外观。

这是我想要实现的目标的示例:

我检查了库的文档,但找不到有关如何创建这样的剪切图的任何具体信息。

有人可以指导我如何实现这种效果吗?我是否需要创建一个自定义背景可绘制对象,或者有没有办法修改 TicketView 属性来添加此切口?

如果有任何代码示例或分步说明来帮助我在 Android 应用程序中实现这一点,我将不胜感激。预先感谢!

我尝试过的:

<com.vipulasri.ticketview.TicketView
android:id="@+id/ticketView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:tv_backgroundColor="#FF5733"
app:tv_cornerRadius="4dp"
app:tv_dashHeight="10dp"
app:tv_dashGap="4dp"
app:tv_text="Sample Ticket"
app:tv_textColor="#FFFFFF"
app:tv_textSize="16sp" />
android android-layout custom-view
1个回答
0
投票

您可以使用这个库代替。它有一个很好的特性

app:ticketPunchLocation
,你可以从任何你想要的一侧切出半圆。例如
app:ticketPunchLocation="top|bottom"
将从顶部和底部切出半圆。如需偷工减料,请使用
app:ticketPunchRadius

因此,在您的情况下,请使用以下内容(根据您的目标进行更改。使用所有功能以达到您想要实现的目标):

<com.passid.android.ticketview.TicketView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="40dp"
        app:ticketBackgroundColor="@color/white"
        app:ticketCornerType="rounded"
        app:ticketElevation="20dp"
        app:ticketOrientation="vertical"
        app:ticketPunchLocation="top"
        app:ticketPunchRadius="24dp"
        app:ticketShowBorder="false"
        app:ticketShowDivider="true">

<!-- your views  -->

</com.passid.android.ticketview.TicketView>

© www.soinside.com 2019 - 2024. All rights reserved.