Android Zig-Zag layout

2019-01-18 08:13发布

问题:

I'm in need of creating a receipt layout in Android. The idea is very simple, a rectangle layout with a zigzag top.

Even, i have tried dashed line but nothing working.

<shape xmlns:android="http://schemas.android.com/apk/res/android"
 android:shape="line">

<stroke
   android:color="#FF00"
   android:dashWidth="5dp"
   android:dashGap="5dp" />
</shape>

回答1:

Try with this: https://github.com/beigirad/ZigzagView

Support top and bottom Zigzag.

<ir.beigirad.zigzagview.ZigzagView
    android:layout_width="match_parent"
    android:layout_height="240dp"
    app:zigzagBackgroundColor="#8bc34a"
    app:zigzagElevation="8dp"
    app:zigzagHeight="10dp"
    app:zigzagShadowAlpha="0.9"
    app:zigzagSides="top|bottom"
    app:zigzagPaddingContent="16dp">

    // add child view(s)

</ir.beigirad.zigzagview.ZigzagView>



回答2:

Hi you can use this library android-shape-imageview. And use transparent shape like this

End use library.

<com.github.siyamed.shapeimageview.mask.PorterShapeImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:siShape="@drawable/zigzag"
android:src="@drawable/neo"
app:siSquare="true"/>

You can change app:siShape="@drawable/zigzag" to desired shape. You can create other png shape.



回答3:

Create small triangle and use repeat background

repeat_background.xml

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

and use it in any view

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/repeat_background" />

refer this and this for more