All Projects → wuapnjie → Puzzleview

wuapnjie / Puzzleview

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

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Puzzleview

slidey
Slide the tiles to fix the picture!
Stars: ✭ 15 (-97.94%)
Mutual labels:  puzzle
Progressview
Styleable progress view
Stars: ✭ 323 (-55.57%)
Mutual labels:  customview
Robotopia
🤖 Introducing kids to coding with tiny virtual robots!
Stars: ✭ 478 (-34.25%)
Mutual labels:  puzzle
Twenty48
A modified clone of the puzzle game 2048, built in react/typescript!
Stars: ✭ 31 (-95.74%)
Mutual labels:  puzzle
Quantum Game
Quantum Game (old version) - a puzzle game with real quantum mechanics in a browser
Stars: ✭ 294 (-59.56%)
Mutual labels:  puzzle
Bifacialview
Stars: ✭ 355 (-51.17%)
Mutual labels:  customview
react-crossword
A flexible, responsive, and easy-to-use crossword component for React apps.
Stars: ✭ 80 (-89%)
Mutual labels:  puzzle
Zloading
[Android] 这是一个自定义Loading View库。暂停更新
Stars: ✭ 552 (-24.07%)
Mutual labels:  customview
Ferris Wheel
Simple android library to present an animated ferris wheel
Stars: ✭ 308 (-57.63%)
Mutual labels:  customview
Great Puzzles
A curated list of great puzzles
Stars: ✭ 448 (-38.38%)
Mutual labels:  puzzle
Circularprogressbar
A subclass of {android.view.View} class for creating a custom circular progressBar
Stars: ✭ 255 (-64.92%)
Mutual labels:  customview
Showcaseview
🔦The ShowcaseView library is designed to highlight and showcase specific parts of apps to the user with an attractive and flat overlay.
Stars: ✭ 281 (-61.35%)
Mutual labels:  customview
Ordinary Puzzles App
Mobile and web puzzle game built with React-Native
Stars: ✭ 376 (-48.28%)
Mutual labels:  puzzle
bottomless-block-barrage
Panel de Pon (Tetris Attack) clone for the 3ds.
Stars: ✭ 15 (-97.94%)
Mutual labels:  puzzle
Flutter deer
🦌 Flutter 练习项目(包括集成测试、可访问性测试)。内含完整UI设计图,更贴近真实项目的练习。Flutter practice project. Includes a complete UI design and exercises that are closer to real projects.
Stars: ✭ 5,725 (+687.48%)
Mutual labels:  customview
JQScrollNumberLabel
JQScrollNumberLabel:仿tumblr热度滚动数字条数, 一个显示数字的控件,当你改变其数字时,能够有滚动的动画,同时动画和位数可以限制,动态创建和实例化可选,字体样式自定义等。
Stars: ✭ 29 (-96.01%)
Mutual labels:  customview
Ttgpuzzleverify
By completing image puzzle game, TTGPuzzleVerify is a more user-friendly verification tool on iOS, which is highly customizable and easy to use. 体验更友好的拼图验证控件
Stars: ✭ 350 (-51.86%)
Mutual labels:  puzzle
Animatedtablayout
Yet another android tab layout
Stars: ✭ 572 (-21.32%)
Mutual labels:  customview
Contourview
🦄 利用本库绘制出贝塞尔曲线魔炫背景。Customize view:Draw the magic dazzle background with Bézier.
Stars: ✭ 542 (-25.45%)
Mutual labels:  customview
Remotecontrolview
一款万能遥控器的交互效果
Stars: ✭ 376 (-48.28%)
Mutual labels:  customview

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].