精华内容
下载资源
问答
  • android开发中,对于用intent实现跳转的Ativity,时候按下手机返回键时,两个Activity之间会多次相互跳转,始终退出不了程序的情况。这是由于从Activity A跳转到Activity B时,A被压入Activity栈中;当从B返回时...

    android开发中,对于用intent实现跳转的Ativity,有时候按下手机的返回键时,两个Activity之间会多次相互跳转,始终退出不了程序的情况。这是由于从Activity  A跳转到Activity  B时,A被压入Activity栈中;当从B返回时,默认又重新创建了一个Activity A对象,这样一来就有了多个Activity A对象。所以造成了无法退出情况。

    解决办法是:在AndroidManifest.xml文件中找到Activity A项,在其属性中加入  android:launchMode="singleTask"   属性。这样就可以解决这个问题了。

    转载于:https://www.cnblogs.com/kjlmicro/p/3695853.html

    展开全文
  • 使用Vue和H5做安卓手机端时候,安卓的实体返回键会返回上一个路由页面,导致页面出现各种问题。 一、路由跳转页面改写 在组件中,需要跳转页面,并且不让用户返回的情况,例如:支付、登录、注销等。请做一下修改...

    Vue H5安卓的返回键解决方案
    使用Vue和H5做安卓手机端时候,安卓的实体返回键会返回上一个路由页面,导致页面出现各种问题。

    一、路由跳转页面改写
    在组件中,有需要跳转页面,并且不让用户返回的情况,例如:支付、登录、注销等。请做一下修改:

    1、this.$router.push()全部改写为this.$router.replace()
    2、<router-link to="/">全部改写为<router-link to="/" replace>
    

    因为this.router.pushwindow.histroythis.router.push会在window.histroy中保留浏览器的历史记录。 这样返回键会返回上一个路由,而this.router.replace不会在history中保留。

    展开全文
  • 使用Vue和H5做安卓手机端时候,安卓的实体返回键会返回上一个路由页面,导致页面出现各种问题。 在网上苦苦寻找了各种方法,都不能完美解决,最终我想到下面这种方法,基本解决需求。 一、路由跳转页面改写 在...

    使用Vue和H5做安卓手机端时候,安卓的实体返回键会返回上一个路由页面,导致页面出现各种问题。

    在网上苦苦寻找了各种方法,都不能完美解决,最终我想到下面这种方法,基本解决需求。

     

    一、路由跳转页面改写

    在组件中,有需要跳转页面,并且不让用户返回的情况,例如:支付、登录、注销等。请做一下修改:

     

    1、this.$router.push()全部改写为this.$router.replace()
    2、<router-link to="/">全部改写为<router-link to="/" replace>
     
    因为this.$router.push会在window.histroy中保留浏览器的历史记录。
    这样返回键会返回上一个路由,而this.$router.replace不会在history中保留。
     

    二、子页面返回改写

    以聊天界面为例:

    1、消息列表页面

    每条消息的点击事件使用this.$router.push(),点击进入详情页,这样保证histroy中记录着主页面的地址。

    2、详情页面

    左上角有个返回按钮,这个返回按钮的跳转事件千万不能用this.$router来跳转,否则会出现返回错乱。

    而是使用this.$router.back() 或者 this.$router.go(-1),这样既能成功返回上一页,也会清除掉上一条history记录。

    如果需要带状态或者参数返回上一页,我目前的方法是将子页面写成弹窗形式,悬浮在最顶层页面。

     

    如果还有什么特殊情况,或者有更深层级的子页面,请参照上面这个思路来处理。

    反正这个问题很蛋疼,没有找到特别好的办法。

    如果有大佬有更好的方法,请在下面评论,谢谢!

     

    转载于:https://www.cnblogs.com/sharealex/articles/10049265.html

    展开全文
  • 其实这个功能还是从IPhone借鉴来的,众所周知,IPhone是没有实体返回键的,因此手势的操作在IPhone中应用的就非常频繁,尤其页面返回功能,对于许多单手操作的用户来说,不可谓不人性化。好了,闲话少说,下面进入...

    相信很多朋友对这个功能已经不陌生了,是的,像手机百度,今日头条等应用都已经有这个功能。其实这个功能还是从IPhone借鉴来的,众所周知,IPhone是没有实体返回键的,因此手势的操作在IPhone中应用的就非常频繁,尤其页面返回功能,对于许多单手操作的用户来说,不可谓不人性化。好了,闲话少说,下面进入正题。

    一、SwipeBackLayout的集成,先来看一下效果:

    下面我们来开始集成:

    SwipeBackLayout的GitHub源码地址:点击打开链接

    1、首先我们需要打开Android Studio,并且在app的build.gradle中添加这个库,方法如下。

     compile 'com.github.anzewei:parallaxbacklayout:1.1.9'

    最新版的,可以直接添加:

    compile 'me.imid.swipebacklayout.lib:library:1.1.0'

     

    然后点击Sync now或者Sync Project按钮,对项目重新配置。如图所示。

    2、完成库的引用之后,我们就可以在项目中使用了。一般情况下,我会用一个BaseActivity把某些反复使用的功能封装起来,方便以后的调用。

    public class BaseActivity extends SwipeBackActivity{
        private SwipeBackLayout mSwipeBackLayout;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            // 可以调用该方法,设置是否允许滑动退出
            setSwipeBackEnable(true);
    
            mSwipeBackLayout = getSwipeBackLayout();
    
            // 设置滑动方向,可设置EDGE_LEFT, EDGE_RIGHT, EDGE_ALL, EDGE_BOTTOM
            mSwipeBackLayout.setEdgeTrackingEnabled(SwipeBackLayout.EDGE_LEFT);
    
            // 滑动退出的效果只能从边界滑动才有效果,如果要扩大touch的范围,可以调用这个方法
            mSwipeBackLayout.setEdgeSize(200);
        }
    
    }

    使BaseActivity继承SwipeBackActivity,在onCreat中初始化设置SwipeBackActivity的常用属性。

    3、此后,我们只需要有滑动返回的页面中,继承BaseActivity,就可以实现该功能了。

    public class TwoActivity extends BaseActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_two);
        }
    }

    但是,到这一步,滑动返回是完成了,但是跟我们要的效果还是有明显区别,如图:

    当我们拖动二级页面时,暴露出的页面时黑色的,并没有看到下面的页面。这里我们还需要进行一项Theme的配置。

    <resources>
    
        <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
            <!--解决滑动关闭时,页面黑屏的问题-->
            <item name="android:windowIsTranslucent">true</item>
        </style>
    
    </resources>

    当我们的项目引用这个主题的后,就可以解决黑屏的问题了

    4、在某些情况下,我们不希望滑动返回功能开启。如页面中油ViewPager的时候,本来向左右滑动预览,结果变成返回了。

    这个时候,我们可以将

    setSwipeBackEnable

    设置成false,这样就禁用了滑动返回。当viewPage在第一页,我们再将其设置成true,这样就开启了功能。

     

    Demo下载地址:点击打开链接

    考虑到还有很多朋友现在用的是Eclipse,所以博主将SwipeBackLayout整理出了一个Eclipse引用的库。

    Eclipse版SwipeBackLayout依赖库:点击打开链接

     

    二、ParallaxBackLayout的集成,效果如图:

                      

    ParallaxBackLayout支持几种效果,具体可以去GitHub查看文档,已获得最新的功能。

    ParallaxBackLayout在GitHub的地址是:点击打开链接

    1、首先也是导入依赖库:

    compile 'com.github.anzewei:parallaxbacklayout:1.1.9'

    版本号会更新,根据作者更新与个人需要填写。

    2、在application中初始化ParallaxBackLayout,并且在清单文件中进行配置:

    public class MyAppliction extends Application {
    
        @Override
        public void onCreate() {
            super.onCreate();
            registerActivityLifecycleCallbacks(ParallaxHelper.getInstance());
        }
    }

     

    <application
            android:name=".MyAppliction">
    </application>

     

    3、依然是封装BaseActivity,但是与第一个库的区别是,ParallaxBackLayout采用注解的方式

     

    @ParallaxBack(edge = ParallaxBack.Edge.LEFT, layout = ParallaxBack.Layout.PARALLAX)
    public class BaseActivity extends FragmentActivity {
    }
    @ParallaxBac

    添加到某个Activity上,这个Activity就拥有了滑动返回的功能。

    其中edge是控制方向的,有

    LEFT:左

    RIGHT:右

    TOP:上

    BOTTOM:下

    layout是控制效果的,有

    PARALLAX:视觉差返回

    COVER:上级Activity不动

    SLIDE:上级Activity紧随当前Activity滑动

    4、当我某个页面需要滑动返回的功能,只要继承标有@ParallaxBackd的activity,或在页面直接注解就可以了。

    public class TwoActivity extends BaseActivity

    当然,ParallaxBackLayout也提供了一些个性定制化功能。如有ViewPager的页面,滑动返回的开启,关闭设置:

            //关闭滑动返回功能
            ParallaxHelper.getInstance().disableParallaxBack(this);
            //开启滑动返回功能
            ParallaxHelper.getInstance().enableParallaxBack(this);

    全屏滑动触发、边界滑动触发:

    ParallaxBackLayout layout = ParallaxHelper.getParallaxBackLayout(activity, true);
    layout.setEdgeMode(EDGE_MODE_FULL);//全屏滑动
    layout.setEdgeMode(EDGE_MODE_DEFAULT);//边缘滑动

    还有一些其他设置,如自定义滑动效果,可以参考作者文档。

    ParallaxBackLayout的集成Demo下载地址:点击打开链接

     

     

    展开全文
  • 尤其对于安卓手机来说,自从系统进入4.0时代,越来越多的安卓手机开始使用虚拟按键设计,同时按键由原来的四大天王改为现在的返回键、Home键和菜单键。谷歌以及使用安卓系统的手机厂商为什么把实体按键改为虚拟键呢...
  • Android开发基础之菜单键的使用

    千次阅读 2015-07-30 22:20:49
    Android手机一般来说在正面会三个实体键或者虚拟键,分别是返回键,Home键,菜单键。今天我们来学习如何使用菜单键。菜单键一般会多个条目Item,点击不同的Item会不同的响应。具体实现步骤如下: (1)创建...
  • 我们使用的大多数android手机上的Home键,返回键以及menu键都是实体触摸感应按键。如果你用Google的Nexus4或Nexus5话,你会发现它们并没有实体按键或触摸感应按键,取而代之的是在屏幕的下方加了一个小黑条,在这个...
  • 一、带有实体按键的手机(iphone8以前)这样做: 1、手机解锁后下按关机出现下面界面: 2、按住HOME五秒钟,该界面消失,返回桌面,此时手机的所有运行程序完全退出,运行内存被释放,在使用手机就会变快。 ...
  • onBackPressed()的用法

    千次阅读 2016-01-17 13:47:10
    android手机下面3个实体按键,back,home,menu;当触发back键的时候,activity会返回,那肯定是调用了某个方法,其实那个方法就是onBackPressed()方法。...注意看下图:单击返回键的时候,会一个Toast,这说明调
  • 如何自定义一个自己的标题栏

    千次阅读 2017-03-17 08:54:40
    在android中我们会发现很多的软件的头部或者底部会一部分的样式是不改变的,例如苹果手机没有实体返回按键,就只能真实用虚拟的按键来实现,在android系统中,我们同样可以实现这个功能。首先,我们来看看怎么实现...
  • 在Galaxy Nexus等没有实体导航手机上,Android 4.0会在屏幕底部显示一排导航(返回,主页,最近任务,菜单),在视频播放时,很必要把这个导航条隐藏,以增加视频可视空间。 1 2 View ...
  • Android滑动关闭Activity

    千次阅读 2018-06-15 13:01:20
    虽然也能通过实体按键返回和现在流行的全面屏手势解决,但是感觉会很生硬,这里就定制一个用户体验极佳的滑动关闭功能。 写在前面 相信大多数人日常刷各种爱啪啪的时候都使用过滑动关闭,我也是因为用了觉得很...
  • 当useWidth为true时,Photo实体类中会orientation,若bitmap不是用户手机内图片,填0即可。 重要:新增.complexSelector(boolean singleType,int videoCount,int pictureCount),支持复杂选择情况,singleType为...
  • Android 上百实例源码分析以及开源分析 集合打包4

    千次下载 热门讨论 2012-07-10 21:54:03
    DeviceHelper 定义了一个设备信息类 主要功能获取尺寸 读取手机号 HttpClientHelper 定义了一个服务请求类,实现与服务器的交流。 HttpException 继承 Exception 实现了输出异常信息 HttpPostParameter 实现了参数...
  • isAppRoot : 判断 App 是否 root 权限 isAppDebug : 判断 App 是否是 Debug 版本 isAppSystem : 判断 App 是否是系统应用 isAppForeground : 判断 App 是否处于前台 launchApp : 打开 App relaunchApp : 重启 App ...
  • 支持实体键盘输入+鼠标单击输入+触摸输入。 Qt程序嵌入的浏览器中的网页中的文本框等控件的输入。 迷你模式,界面大小随意设置,采用布局自使用任何分辨率。 纯数字键盘模式,自由控制弹出完整输入法面板和数字键盘...
  • 实例151 获得Class对象表示实体的名称 197 实例152 查看类的声明 198 实例153 查看类的成员 199 实例154 按继承层次对类排序 201 实例155 查看内部类信息 202 7.2 反射的进阶 203 实例156 动态设置类的私有域 203 ...
  • 实例151 获得Class对象表示实体的名称 197 实例152 查看类的声明 198 实例153 查看类的成员 199 实例154 按继承层次对类排序 201 实例155 查看内部类信息 202 7.2 反射的进阶 203 实例156 动态设置类的私有域 203 ...
  • 实例151 获得Class对象表示实体的名称 197 实例152 查看类的声明 198 实例153 查看类的成员 199 实例154 按继承层次对类排序 201 实例155 查看内部类信息 202 7.2 反射的进阶 203 实例156 动态设置类的私有域 203 ...
  • 实例151 获得Class对象表示实体的名称 197 实例152 查看类的声明 198 实例153 查看类的成员 199 实例154 按继承层次对类排序 201 实例155 查看内部类信息 202 7.2 反射的进阶 203 实例156 动态设置类的私有域 203 ...
  • 实例151 获得Class对象表示实体的名称 实例152 查看类的声明 实例153 查看类的成员 实例154 按继承层次对类排序 实例155 查看内部类信息 7.2 反射的进阶 实例156 动态设置类的私有域 实例157 动态调用类中的...
  • 实例151 获得Class对象表示实体的名称 实例152 查看类的声明 实例153 查看类的成员 实例154 按继承层次对类排序 实例155 查看内部类信息 7.2 反射的进阶 实例156 动态设置类的私有域 实例157 动态调用类中的...
  • 实例151 获得Class对象表示实体的名称 实例152 查看类的声明 实例153 查看类的成员 实例154 按继承层次对类排序 实例155 查看内部类信息 7.2 反射的进阶 实例156 动态设置类的私有域 实例157 动态调用类中的...
  • 实例151 获得Class对象表示实体的名称 实例152 查看类的声明 实例153 查看类的成员 实例154 按继承层次对类排序 实例155 查看内部类信息 7.2 反射的进阶 实例156 动态设置类的私有域 实例157 动态调用类中的...
  • 实例151 获得Class对象表示实体的名称 实例152 查看类的声明 实例153 查看类的成员 实例154 按继承层次对类排序 实例155 查看内部类信息 7.2 反射的进阶 实例156 动态设置类的私有域 实例157 动态调用类中的...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

有实体返回键手机