• Stars
    star
    850
  • Rank 53,628 (Top 2 %)
  • Language
    Java
  • Created about 8 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Android Jigsaw puzzle support,inspired by Instagram's layout.

PuzzleView

Android Jigsaw puzzle support,inspired by Instagram's layout.

Release to 2.0, now support slant mode and round cornors.

中文README

the apk file is here--->http://fir.im/puzzle0607

Screenshots

Due the size of the gif file, the example below may not render well, in that case you can view the demo video on youtube.

Click here to see video demo

Now support slant mode and round cornors

Usage

in build.gradle

compile 'com.flying.xiaopo:puzzle:2.0.0-alpha'

in xml layout

 <com.xiaopo.flying.puzzle.PuzzleView
        android:id="@+id/puzzle"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

 <com.xiaopo.flying.puzzle.SquarePuzzleView
        android:id="@+id/square_puzzle"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

in the java code, you can change some attributes of the puzzle view

puzzleView.setPuzzleLayout(puzzleLayout);
puzzleView.setTouchEnable(true);
puzzleView.setNeedDrawLine(false);
puzzleView.setNeedDrawOuterLine(false);
puzzleView.setLineSize(4);
puzzleView.setLineColor(Color.BLACK);
puzzleView.setSelectedLineColor(Color.BLACK);
puzzleView.setHandleBarColor(Color.BLACK);
puzzleView.setAnimateDuration(300);

and handle some actions

puzzleView.rotate(90f);
puzzleView.flipHorizontally();
puzzleView.flipVertically();
puzzleView.setLineSize(currentDegrees);
puzzleView.setPieceRadian(currentDegrees);
puzzleView.setNeedDrawLine(!mPuzzleView.isNeedDrawLine());
puzzleView.replace(bitmap);

Also you can check the source code of the demo for examples of how to use these attributes.

Layout

The PuzzleView depends on the PuzzleLayout. Of course you can customize it.
If you don't want to customize it's layout, you can just use the default layout.
All the built-in layouts can be found in the the demo's PlaygroundActivity. You can click to see the effect.

Custom Layout

To create a custom layout is also easy. Just extend PuzzleLayout and override the layout method.
The PuzzleLayout class provides some methods for customization. Also you can check the source code of the in-built layouts for guidance / examples.

public class CustomLayout extends PuzzleLayout {

    @Override
    public void layout() {
        addLine(getOuterBorder(), Line.Direction.HORIZONTAL, 1f / 2);
        addLine(getBorder(0), Line.Direction.VERTICAL, 1f / 2);
    }
}

Finally

to see some photos by puzzle Click here

Update

  • 2017/08/29 2.0.0-alpha add slant mode puzzle, and to support round cornors
  • 2017/04/15 1.1.1 add piece select listener
  • 2017/02/15 1.1.0 add piece padding function

License

Copyright 2016 wuapnjie

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

More Repositories

1

StickerView

[No more support] A view which can add sticker and zoom,drag,delete it
Java
1,268
star
2

PoiShuhui-Kotlin

[Deprecated]一个用Kotlin写的简单漫画APP
Kotlin
956
star
3

SuspensionBar

A RecyclerView suspension bar implementation like Instagram
Java
488
star
4

LayoutMaster

An Android Studio Plugin for ui debugging.
Java
305
star
5

PoiPhoto

A simple Photo Selecter
Java
109
star
6

PixelCrop

A Crop library like Google Photos
Java
54
star
7

SwipePostcard

the swipe card's super simple implementation
Java
45
star
8

PoiCamera

[Deprecated] See ACamera Project using Camera2 => https://github.com/wuapnjie/ACamera
Java
40
star
9

DegreeSeekBar

A Degree Seek Bar like Google Photos
Java
22
star
10

TimeBar

A TimeBar which imitates evernote.
Java
20
star
11

PoiShuHui

一个看漫画的App
Java
11
star
12

EasyShortcuts

一个简单的编译时注解项目,方便产生App Shortcut
Java
11
star
13

FilterLayout

Java
11
star
14

ACamera

Great training for using Camera2 API with RxJava2
Java
11
star
15

SunnyLoad

一个阳光加载小动画
Java
10
star
16

DailyAndroid

Android Daily Study
Java
10
star
17

Timer

一个关于校园时光的App
Java
4
star
18

PuzzleLayoutManager

Let's layout view just like jigsaw puzzle
Java
3
star
19

IndoorsServer

An IndoorsServer using Vert.x
Kotlin
3
star
20

DijkstraCpp

通信网理论基础的Project2和Project3
C++
2
star
21

Artist

To be an Artist —— Collections of my ui work.
Kotlin
2
star
22

SnippetLab

Java
1
star
23

BlockLayout

Let it simplify your layout.😏
Java
1
star
24

PoiTaeyeon-service

一个简单的Restful服务
Java
1
star
25

WhenIndoors

Java
1
star
26

DragDismissLayout

Java
1
star