PuzzleView
来源:互联网 发布:java 6.0 64位 编辑:程序博客网 时间:2024/05/16 07:23
PuzzleView
Android Jigsaw puzzle support,inspired by Instagram's layout.
中文 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
Usage
in build.gradle
compile 'com.flying.xiaopo:puzzle:1.0.0'
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
mPuzzleView.setPuzzleLayout(mPuzzleLayout);mPuzzleView.setMoveLineEnable(true);mPuzzleView.setNeedDrawBorder(false);mPuzzleView.setNeedDrawOuterBorder(false);mPuzzleView.setExtraSize(100);mPuzzleView.setBorderWidth(4);mPuzzleView.setBorderColor(Color.WHITE);mPuzzleView.setSelectedBorderColor(Color.parseColor("#99BBFB"));
and handle some actions
mPuzzleView.rotate(90f);mPuzzleView.flipHorizontally();mPuzzleView.flipVertically();mPuzzleView.setNeedDrawBorder(!mPuzzleView.isNeedDrawBorder());mPuzzleView.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); }}
- PuzzleView
- 超市简单购买系统
- JavaScript面向对象编程之对象的属性
- SQL-Relay学习笔记(0)
- js定位到第一个错误位置
- 堆栈平衡
- PuzzleView
- hdu3709——Balanced Number(数位dp)
- 这时集群系列文章的目录篇
- 原始套接字编程
- 用户界面UI -- 客户端 -- 数据库 交互时时间保护
- 23. Merge k Sorted Lists(heap)
- SQL实现一个表格中多个字段合并为一个字段
- android studio 错误的解决方法之一:transformClassesWithDexForDebug' finished with non-zero exit value 3
- 安卓常用模块收集(一)--编辑窗口