当前位置: 首页 > 编程笔记 >

Android实现返回键功能

白刚洁
2023-03-14
本文向大家介绍Android实现返回键功能,包括了Android实现返回键功能的使用技巧和注意事项,需要的朋友参考一下

记录用户点击的操作历史,使用栈数据结构,频繁的操作栈顶(添加,获取,删除),使用LinkedList

捕获用户的返回键操作,响应返回键,返回上一个界面

MainActivity.java

/**
* 返回键处理
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK){
boolean result=MiddleManager.getInstance().goBack();
if(!result){
Toast.makeText(MainActivity.this, "是否退出应用", 1).show();
}
return false;
}
return super.onKeyDown(keyCode, event);
}

MiddleManager.java

//操作历史栈
private LinkedList<String> HISTORY=new LinkedList<String>();
/**
* 处理返回键
* @return 
*/
public boolean goBack() {
//如果为空会抛异常
if(HISTORY.size()>0){
if(HISTORY.size()==1){
return false;
}

HISTORY.removeFirst();
if(HISTORY.size()>0){
String key=HISTORY.getFirst();
BaseView targetView=VIEWCACHE.get(key);
mainContainer.removeAllViews();
View child=targetView.getView();
mainContainer.addView(child);
child.startAnimation(AnimationUtils.loadAnimation(mainContainer.getContext(), R.anim.left_to_right));
currentView=targetView;
return true;
}
}
return false;
}
/**
* 加载界面
*/
public void loadView(Class<? extends BaseView> baseViewClass) {
BaseView baseView=null;
//判断是否存在
String key=baseViewClass.getSimpleName();
if(VIEWCACHE.containsKey(key)){
baseView=VIEWCACHE.get(key);
}else{
try {
Constructor<? extends BaseView> constructor;
constructor = baseViewClass.getConstructor(Context.class);
baseView=constructor.newInstance(mainContainer.getContext());
} catch (Exception e) {
e.printStackTrace();
}
VIEWCACHE.put(key, baseView);
}
mainContainer.removeAllViews();
View child=baseView.getView();
mainContainer.addView(child);
child.startAnimation(AnimationUtils.loadAnimation(mainContainer.getContext(), R.anim.left_to_right));
currentView=baseView;
//放入栈
HISTORY.addFirst(key);
}

以上所述是小编给大家介绍的Android实现返回键功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍Android返回键功能的实现方法,包括了Android返回键功能的实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android返回键功能的实现方法。分享给大家供大家参考。具体如下: 在开发android应用时,常常通过按返回键(即keyCode == KeyEvent.KEYCODE_BACK)就能关闭程序,其实大多情况下并没有关闭改应用 我们可以这样做,当用户点

  • 本文向大家介绍Android实现返回键操作思路,包括了Android实现返回键操作思路的使用技巧和注意事项,需要的朋友参考一下 记录用户点击的操作历史,使用栈数据结构,频繁的操作栈顶(添加,获取,删除),使用LinkedList 捕获用户的返回键操作,响应返回键,返回上一个界面 MainActivity.java MiddleManager.java 以上就是本文的全部内容,希望对大家的学习有所帮

  • 本文向大家介绍ionic监听android返回键实现“再按一次退出”功能,包括了ionic监听android返回键实现“再按一次退出”功能的使用技巧和注意事项,需要的朋友参考一下 在android平台上的app,在主页面时经常会遇到“再按一次退出app”的功能,避免只按一下返回键就退出app提升体验优化。 1、这个功能需要我们用到ionic提供的registerBackButtonAction方法

  • 本文向大家介绍Android中让按钮拥有返回键功能的方法及重写返回键功能,包括了Android中让按钮拥有返回键功能的方法及重写返回键功能的使用技巧和注意事项,需要的朋友参考一下 让按钮拥有返回键的功能很简单,在点击事件加上finish();就OK了。 如: finish() 仅仅是把activity从当前的状态退出,但是资源并没有给清理。 其实android的机制决定了用户无法完全退出appli

  • 本文向大家介绍Android实现点击两次返回键退出,包括了Android实现点击两次返回键退出的使用技巧和注意事项,需要的朋友参考一下 在做安卓应用是我们经常要判断用户对返回键的操作,一般为了防止误操作都是在用户连续按下两次返回键的时候提示用户是否退出应用程序。 第一种实现的基本原理就是,当按下BACK键时,会被onKeyDown捕获,判断是BACK键,则执行exit方法。 在exit方法中,会首

  • 本文向大家介绍jquery 实现返回顶部功能,包括了jquery 实现返回顶部功能的使用技巧和注意事项,需要的朋友参考一下 今天搞了一个回到顶部的JS JQ功能,废话不多说,有图有真相! 代码很简单,各位直接拿去,放在自己项目中即可,如有bug请给我留言,共同完善 方法二: 主要参数: scrollName: 'scrollUp', // Element ID topDistance: '300'