SwipeBackActivity 的使用

1、SwipeBackLayout

项目地址:https://github.com/ikew0ng/SwipeBackLayout

2、用法

android studio 

compile ‘me.imid.swipebacklayout.lib:library:1.0.0‘

项目实例

package com.example.yiba8.myapplication;

import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.View;
import android.widget.TextView;

import me.imid.swipebacklayout.lib.SwipeBackLayout;
import me.imid.swipebacklayout.lib.app.SwipeBackActivity;

public class BackActivity extends SwipeBackActivity {

    private TextView back ;
    private SwipeBackLayout mSwipeBackLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_back);

        mSwipeBackLayout = getSwipeBackLayout();

        int flag1 =   SwipeBackLayout.EDGE_LEFT ;   //左滑
        int flag2 =   SwipeBackLayout.EDGE_RIGHT ;  //右滑
        int flag3 =   SwipeBackLayout.EDGE_BOTTOM ; //下滑
        int flag4 =   SwipeBackLayout.EDGE_ALL ;    //全部

        //设置滑动模式
        mSwipeBackLayout.setEdgeTrackingEnabled(flag4);

        //自动调用滑动模式
        back = (TextView) findViewById( R.id.back );
        back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                scrollToFinishActivity();
            }
        });

        //设置是否可以滑动
        mSwipeBackLayout.setEnableGesture(true);

        //获取屏幕的宽度
        DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);
        int  phoneWidth  = dm.widthPixels ;

        //设置侧滑的区域为屏幕宽度的1/3,如果不设置系统默认为50dip
        mSwipeBackLayout.setEdgeSize( phoneWidth / 3  );
    }
}

3、常见的问题

3.1 滑动后背景显示为黑屏

       

解决方法:在需要侧滑的 Activity 添加一个 Theme

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
    <style name="AppBackTheme"  parent="@style/AppTheme">
        <item name="android:windowIsTranslucent">true</item>
    </style>

对activity添加theme

       <!--  侧滑返回  -->
        <activity
            android:theme="@style/AppBackTheme"
            android:name=".BackActivity">
        </activity>
时间: 2024-10-29 10:46:29

SwipeBackActivity 的使用的相关文章

安卓的编码规范

Android-Code-Style 1.约定 Activity.onCreate(),Fragment.onActivityCreated(),紧跟成员变量后,方法内部保持简单,尽量只调用initXXX()方法,如:initData(),initView() 调用方法保持"临近原则",被调用的方法,放在调用方法下方 单个方法体不要过长 代码任何地方不要拼错单词 统一调整IDE的Tab缩进为4个空格 2.命名 2.1. 布局文件中的id命名 规则:使用驼峰命名,前缀+逻辑名称,类变量名

仿微信右滑关闭Activity

SwipeBackLayout 1.AS添加依赖 compile 'me.imid.swipebacklayout.lib:library:1.0.0' eclipse 想办法下载库工程,以库工程形式导入. 2.基类Activity继承SwipeBackActivity  BaseActivity extends SwipeBackActivity 3.不需要右滑的Activity在onCreate中添加以下语句即可: getSwipeBackLayout().setEnableGesture(

开源项目之滑动后退SwipeBackLayout

本问主要介绍SwipeBackLayout的使用 SwipeBackLayout支持左右侧滑,以及向上滑动返回上一级 库资源:https://github.com/ikew0ng/SwipeBackLayout 导入过程: 1.下载后得到一个压缩包,解压后导入里面的library 2.导入后,会发现src文件夹是空的,别着急.在工程中有一个java文件夹,将java文件夹下的整个文件拷贝到src,就可以了. 3.虽然src有了,但是会发现代码报错.到其他工程中,将lib文件夹包括android-

Android 使用SwipeBackLayout实现滑动返回上一级页面——实战来袭

我们知道.APP在设计上习惯性的把返回button放在屏幕的左上角,那么,在非常多时候(尤其是大屏幕手机),操作改返回button,就会有诸多不便了.为了更加方便实现"返回"功能.如今的一些APP,如百度贴吧等.開始引入一种的新的交互方式,通过滑动屏幕.利用手势事件来高速且友好的实现该功能. 怎样高速实现上图的效果呢.Github上提供了一个开源的库SwipeBackLayout,地址:https://github.com/ikew0ng/SwipeBackLayout , 通过它,我

AndroidStudio怎么将开源项目发布到jcenter

如何把自己写的项目让别人依赖呢,像compile 'com.google.code.gson:gson:2.6.2'一样? 上面的依赖library需要3各部分,即:GROUP_ID:ARTIFACT_ID:VERSION,其中GROUP_ID是com.google.code.gson(库的包名),ARTIFACT_ID是gson(类库名称),VERSION是2.6.2(版本号). 怎么上传你的类库到jcenter仓库? 基本上大致的步骤可以慨括为,在AndroidStudio上准备好要上传的库

侧滑实现

找了很多种侧滑的实现,个人觉得这种实现简单,支持的更多,代码也容易看懂,原理一目了然. package com.gaosi.View; import java.util.LinkedList; import java.util.List; import com.gaosi.teacherapp.R; import android.app.Activity; import android.content.Context; import android.content.res.TypedArray;

实现Activity的滑动返回效果

介绍 在知乎客户端上看到了这种效果,左滑Activity可以返回到上一界面,非常适合单手操作. 找了很久,终于在github上看到了SwipeBackLayout这个开源项目,地址: https://github.com/ikew0ng/SwipeBackLayout 实现 需要使用到的类: SwipeBackActivity.java SwipeBackLayout.java ViewDragHelper.java 使当前的Activity继承SwipeBackActivity public

使用webview,给自己看的,别人可能看不懂

package com.etron.dacangjia.news; import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.json.JSONArray; import org.json.JSONObject; import me.imid.swipebacklayout.lib.app.SwipeBackActivity; import andr

右滑返回功能 几种实现方式总结

方式一:利用onTouchListener简单实现 基本思想: 让Activity中的根布局实现onTouchListener 当手指在屏幕上向右滑动时,我们记下ACTION_DOWN的X轴的位置 在手指滑动时(即ACTION_MOVE),获取滑动时的X轴的位置 当滑动的位置大于某个临界值且在这个方向上的速度大于某个临界值时,我们就认为用户滑动手指的意图是返回上一个页面. 重大缺点:页面完全没有跟着手指滑动,只是当手指滑动到一定条件时将Activity干掉,所以会感觉退出的非常生硬. publi