Code Monkey home page Code Monkey logo

brokenview's Introduction

BrokenView

Glass-break effect for views.

brokenview

Demo

Download APK

Usage

Android Studio

dependencies {
   compile 'com.zys:brokenview:1.0.3'
}

Eclipse

Just put brokenview.jar into the libs folder of your app.

Basic Example

brokenView = BrokenView.add2Window(context);
listener = new BrokenTouchListener.Builder(brokenView).build();
view.setOnTouchListener(listener);

More Config

Use BrokenTouchListener.Builder for more configurations, and set custom attributes as shown below:

BrokenTouchListener.Builder(brokenView).

    setComplexity(...).          // default 12 
    
    setBreakDuration(...).       // in milliseconds, default 700ms
    
    setFallDuration(...).        // in milliseconds, default 2000ms
    
    setCircleRiftsRadius(...).   // in dp, default 66dp, you can disable circle-rifts effect by set it to 0
    
    setEnableArea(...).          // set the region or childview that can enable break effect,
                                 // be sure the childView or childView in region doesn't intercept any touch event
                                 
    setPaint(...).               // the paint to draw rifts
    
    build();

You can also set a callback to listen to the status of animations, like this:

brokenView.setCallback.(new BrokenCallback() {

   @Override
   public void onStart(View v) {...}
   
   @Override
   public void onCancel(View v) {...}
   
   @Override
   public void onCancelEnd(View v) {...}
   
   @Override
   public void onRestart(View v) {...}
   
   @Override
   public void onFalling(View v) {...}
   
   @Override
   public void onFallingEnd(View v) {...}
});

Compatibility

  • Support API LEVEL >= 14

Changelog

Version 1.0.0
  • First release

Version 1.0.1

  • Optimize animation effects
  • Set minSdkVersion to 14

Version 1.0.2

  • Added many annotations
  • Added new features: setCircleRiftsRadius, setEnableArea

Version 1.0.3

  • Fixed ANR caused by setCircleRiftsRadius(0)
  • Better annotations

License

BrokenView is available under the MIT license.

brokenview's People

Contributors

zhanyongsheng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

brokenview's Issues

如何只破碎一次

现在长按完破碎动画有两次,如何直破一次呢
修改setRepeatCount(1);参数为0就没有动画了

reset没效果

在BrokenView.setCallback监听中,我在onFallEnd中使用reset没反应呀,这怎么搞

请问下,如何让自动指定位置破碎

public void animationBroken(View mView){
BrokenConfig mBrokenConfig=new BrokenConfig();
mBrokenConfig.complexity=8;
Point mPaint=new Point(parentLayout.getWidth()/2,parentLayout.getHeight()/2);
BrokenAnimator mBrokenAnimator=mBrokenView.createAnimator(parentLayout,mPaint,mBrokenConfig);
mBrokenAnimator.start();

}

有时候破碎不成功

Falling animation repeats

When glass gets breaked it apears once again and falls again :-X
I am adding view with default listener


	RelativeLayout relative = (RelativeLayout) getLayoutInflater().inflate(R.layout.view_break_glass, null);

	ImageView imageView = (ImageView) relative.findViewById(R.id.glass);

	BrokenView brokenView = BrokenView.add2Window(this);

	BrokenTouchListener listener = new BrokenTouchListener.Builder(brokenView).build();

	imageView.setOnTouchListener(listener);

	return relative;

BrokenView with ViewPager

I've implemented BrokenView with ViewPager, and it is only working for the first Tab (View) that references it in the ViewPager - any ideas why?

Many thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.