gpt4 book ai didi

Android收据/之字形可绘制/布局

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:58:17 29 4
gpt4 key购买 nike

我需要在 Android 中创建收据布局。这个想法很简单,一个带有锯齿形底边的矩形布局。

最好的结果是具有固定之字形大小(意思是固定的半三角形大小)的绘图/布局,这将根据形状的实际宽度实时乘以三角形的数量。可能用夹子,必要时剪下三角形。

这是一个很好的例子(编辑:我指的是底部之字形线):

enter image description here

我实际上对如何创建它没有扎实的想法。想到了 9-patch ,但是好像不太合适。可能想到具有水平偏移的列表层可绘制......

也许可以创建一个具有单独比例部分的 9 补丁,以保持锯齿形的纵横比......这也可以。

编辑 - 回答使用@Luksprog 的评论,我轻松地重新创建了我想要的内容。
这是一些代码:

图片(注意高度对应源图片大小):

    <ImageView
android:id="@+id/zigzag_bottom"
android:layout_width="match_parent"
android:layout_height="12dp"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:src="@drawable/zigzag" />

可绘制:

    <?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_zigzag"
android:tileMode="repeat"
android:antialias="true"
/>

最佳答案

您无法为该图像制作九路径,因为无法在垂直或水平侧定义可拉伸(stretch)区域。要获得锯齿形图案,您可以提取锯齿形 dentry 之一(连同它的背景阴影)并将其包裹在具有 tileMode 属性的 BitmapDrawable 中在可绘制边界内重复包裹的图像。这样锯齿形的齿就会重复出现,您就可以组成图案。

note that height corresponds to the source image size

这是一个令人愉快的场景,但您可以让它适用于高度不匹配的情况。例如,您可以将之字形 BitmapDrawable 包装在 LayerDrawable 中(连同实际的可绘制 View (对于 View 区域的其余部分)),然后使用 setLayerInset() 将可绘制对象放在底部。您还可以创建自己的可绘制对象,通过覆盖 onDraw() 方法将之字形图案图像放置在底部。

关于Android收据/之字形可绘制/布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26441573/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com