天天看点

Android 动画特效 破碎的界面 brokview

Android 动画特效 破碎的界面 brokview

图片做的有点水,凑合着看吧

Android 的app开发,很多的时候,避免不了特效的使用,有的特效还是很不错的,加上之后或会显得高大上,或会不那么突兀,增强用户体验等等,不过用不好的效果也很差.

这里先记录一个破碎效果的使用,控件来着github,因为源代码比较乱,现在整理一下最简单的用法.

简单的主页面布局activity_main:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:orientation="vertical">
    <ImageView
        android:id="@+id/iv_main"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@mipmap/img_four"
        android:clickable="true"
        />
</LinearLayout>
           

下面则是MainActivity:

package com.zys.demo;

import android.graphics.Paint;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;

import com.zys.brokenview.BrokenCallback;
import com.zys.brokenview.BrokenTouchListener;
import com.zys.brokenview.BrokenView;

public class MainActivity extends AppCompatActivity {
    private ImageView imageView;

    // 控件
    private BrokenView mBrokenView;
    private BrokenTouchListener colorfulListener;
    private BrokenTouchListener whiteListener;
    private Paint whitePaint;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView = (ImageView) findViewById(R.id.iv_main);

        initBrokenView(); // 初始化特效
    }

    /**
     * BrokenView 特效
     */
    private void initBrokenView() {
        mBrokenView = BrokenView.add2Window(this);
        BrokenCallback callback = new MyCallBack();
        mBrokenView.setCallback(callback);
        whitePaint = new Paint();
        whitePaint.setColor(0xffffffff);
        colorfulListener = new BrokenTouchListener.Builder(mBrokenView).build();
        whiteListener = new BrokenTouchListener.Builder(mBrokenView).//没有颜色的,很少用到,可自行琢磨混搭
                setPaint(whitePaint).
                build();
        
        // 将你要使用特效的控件,设置点击事件
        imageView.setOnTouchListener(colorfulListener);
    }

    // brokenview 特效过程,可在每个阶段做一些自己的操作
    private class MyCallBack extends BrokenCallback {
        @Override
        public void onStart(View v) {
            showCallback(v, "onStart");
        }

        @Override
        public void onCancel(View v) {
            showCallback(v, "onCancel");
        }

        @Override
        public void onRestart(View v) {
            showCallback(v, "onRestart");
        }

        @Override
        public void onFalling(View v) {
            showCallback(v, "onFalling");
        }

        @Override
        public void onFallingEnd(View v) {
            // 可以在这里做一些执行完之后的操作,比如请求网络,比如刷新等等
            showCallback(v, "onFallingEnd");
        }

        @Override
        public void onCancelEnd(View v) {
            showCallback(v, "onCancelEnd");
        }
    }

    // 简单的方法,可换成自己要执行的代码
    private void showCallback(View v, String s) {
        switch (v.getId()) {
            case R.id.iv_main:
//                Toast.makeText(this,s).show();
                break;
        }
    }
}
           

当然,首先要添加支持库,对于as用户,很是方便:

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

当然,eclipse也是有的,可以直接添加源码,此源码同样适用as:

额,好吧目前还不会CSDN链接到下载,以后再研究,此处先给个百度云盘的:

链接:http://pan.baidu.com/s/1eRXb5Gu 密码:oah1

后语:

很多特效都是比较简单的,破碎同样是一个使用很简单,效果不错的特效.想要研究特效,可以去看看:

23code : http://www.23code.com    不过已经有段时间没更新了

Android 巴士 :  http://www.apkbus.com/forum-417-1.html     还是不错的

当然还有很多,最丰富的当属github,不过就需要看个人功底了,怎么搜,怎么找,看度娘或者翻墙谷歌吧

继续阅读