天天看點

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,不過就需要看個人功底了,怎麼搜,怎麼找,看度娘或者翻牆谷歌吧

繼續閱讀