圖檔做的有點水,湊合着看吧
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,不過就需要看個人功底了,怎麼搜,怎麼找,看度娘或者翻牆谷歌吧