图片做的有点水,凑合着看吧
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,不过就需要看个人功底了,怎么搜,怎么找,看度娘或者翻墙谷歌吧