大佬教程收集整理的这篇文章主要介绍了Android 5.0 – 以编程方式将AppCompat v7 21主页图标从汉堡动画设置为后退箭头,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
基本上,如果这还不够清楚,here就是我想要实现的目标.我不想使用this library (MaterialMenu),我想使用官方的AppCompat lib来扩展可能.
由于this solution,我实现了这个效果,但是当更换片段时,我无法弄清楚如何将ActionBarDrawerToggle作为后退按钮.
所以我的问题是:如果后箭头图标仍然是ActionBarDrawerToggLeonce,Fragement已被替换?在这种情况下,我如何覆盖它,以便它像onBACkPressed(),而不是打开抽屉?我已经尝试了这个,但它不起作用:
@Override public Boolean onOptionsItemSELEcted(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: getActivity().onBACkPressed(); return true; } return false; }
提前致谢.
public class ManualActionBarDrawerToggle extends ActionBarDrawerToggle { private static final float MENU_POSITION = 0f; private static final float ARROW_POSITION = 1.0f; private final int animationLength; private final DrawerLayout drawerLayout; private final Activity activity; private State currentState; private enum State { UP_ARROW,MENU } public ManualActionBarDrawerToggle(Activity activity,DrawerLayout drawerLayout,int openDrawerContentDescriptionresource,int closeDrawerContentDescriptionresourcE) { super(activity,drawerLayout,openDrawerContentDescriptionresource,closeDrawerContentDescriptionresourcE); animationLength = activity.getresources().getInteger(android.R.Integer.config_shortAnimTimE); this.drawerLayout = drawerLayout; this.activity = activity; currentState = State.MENU; } public void animateToBACkArrow() { ValueAnimator anim = ValueAnimator.ofFloat(MENU_POSITION,ARROW_POSITION); anim.addupdateListener(new ValueAnimator.AnimatorupdateListener() { @Override public void onAnimationupdate(ValueAnimator valueAnimator) { float slideOffset = (Float) valueAnimator.getAnimatedValue(); onDrawerSlide(drawerLayout,slideOffset); } }); anim.seTinterpolator(new DecelerateInterpolator()); anim.setDuration(animationLength); anim.start(); currentState = State.UP_ARROW; } public void animateToMenu() { ValueAnimator anim = ValueAnimator.ofFloat(ARROW_POSITION,MENU_POSITION); anim.addupdateListener(new ValueAnimator.AnimatorupdateListener() { @Override public void onAnimationupdate(ValueAnimator valueAnimator) { float slideOffset = (Float) valueAnimator.getAnimatedValue(); onDrawerSlide(drawerLayout,slideOffset); } }); anim.seTinterpolator(new DecelerateInterpolator()); anim.setDuration(animationLength); anim.start(); currentState = State.MENU; } @Override public Boolean onOptionsItemSELEcted(MenuItem item) { switch (item.getItemId()) { case (android.R.id.homE): if (currentState == State.UP_ARROW) { activity.onBACkPressed(); return true; } } return super.onOptionsItemSELEcted(item); } }
以上是大佬教程为你收集整理的Android 5.0 – 以编程方式将AppCompat v7 21主页图标从汉堡动画设置为后退箭头全部内容,希望文章能够帮你解决Android 5.0 – 以编程方式将AppCompat v7 21主页图标从汉堡动画设置为后退箭头所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。