SwipeBackActivity的學習遇到的問題

//摘要:關於SwipeBackActivity,主要注意以下幾種情況:
// 1.引入 compile ‘me.imid.swipebacklayout.lib:library:1.0.0’
// 2.將app的主題設置加入 true
// –這樣主題就可以使透明的,不能用默認的主題;使用默認背景就是黑屏了,這個屬性就是設置防止黑屏的。
// 關於阻止黑屏可查看:http://blog.csdn.net/fancylovejava/article/details/39643449
// 3.這個側滑關閉頁面的方法,同時這個三方的包的出處地址是:https://github.com/ikew0ng/SwipeBackLayout(裏面有完整項目),感謝
// 4.滑動關閉有4種形式,在下面已經列舉了
// 5.這裏面已經通過監聽滑動的手勢來設置震動效果了:vibrate方法,(記住在配置文件中得申明震動的權限)
// 6.已經就遇到了,今天終於不是僅僅看人家的代碼了,自己把代碼寫出來真的很好,印象也加深了。
代碼塊語法遵循標準markdown代碼,例如:
“` python
private SwipeBackLayout mSwipeBackLayout;
private static final int VIBRATE_DURATION = 20;
/*
* 滑動關閉當前頁面的方向有四種形式
* 1.SwipeBackLayout.EDGE_RIGHT 右邊關閉頁面
* 2.SwipeBackLayout.EDGE_LEFT 左邊關閉頁面
* 3.SwipeBackLayout.EDGE_BOTTOM 底部關閉頁面
* 4.SwipeBackLayout.EDGE_ALL 以上三種形式關閉頁面
*/
int edgeFlag;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

    findViewById(R.id.other_btn).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(MainActivity.this, OtherActivity.class));
        }
    });
    setSwipeBackEnable(true);
    mSwipeBackLayout = getSwipeBackLayout();


    edgeFlag = SwipeBackLayout.EDGE_RIGHT;
    //edgeFlag = SwipeBackLayout.EDGE_LEFT;
    //edgeFlag = SwipeBackLayout.EDGE_BOTTOM;
    //edgeFlag = SwipeBackLayout.EDGE_ALL;
    mSwipeBackLayout.setEdgeTrackingEnabled(edgeFlag);
    //震動效果
    mSwipeBackLayout.addSwipeListener(new SwipeBackLayout.SwipeListener() {
        @Override
        public void onScrollStateChange(int state, float scrollPercent) {
        }

        @Override
        public void onEdgeTouch(int edgeFlag) {
            vibrate(VIBRATE_DURATION);
        }

        @Override
        public void onScrollOverThreshold() {
            vibrate(VIBRATE_DURATION);
        }
    });
}

/***
 * 震動效果
 * @param duration
 */
private void vibrate(long duration) {
    Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
    long[] pattern = {0, duration};
    vibrator.vibrate(pattern, -1);
}

/*
* 這是最簡單的方法
* @author yjbo 2016年5月26日18:20:38
*/
public class OtherActivity extends SwipeBackActivity {

private SwipeBackLayout mSwipeBackLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_other);
    setSwipeBackEnable(true);
    mSwipeBackLayout = getSwipeBackLayout();

    int edgeFlag;
    edgeFlag = SwipeBackLayout.EDGE_LEFT;
    mSwipeBackLayout.setEdgeTrackingEnabled(edgeFlag);
}

}

依賴:重點內容
dependencies {
compile fileTree(dir: ‘libs’, include: [‘*.jar’])
testCompile ‘junit:junit:4.12’
compile ‘com.android.support:appcompat-v7:23.4.0’
compile ‘me.imid.swipebacklayout.lib:library:1.0.0’
}



true

本文中的源碼地址:(http://download.csdn.net/detail/yangjianbo456/9532344

發佈了82 篇原創文章 · 獲贊 22 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章