編輯:關於Android編程
android 從開始到現在在,退出程序的方法多種多樣,部分方法只適合某些版本,所以根據版本特性來選擇合適的退出Activity的方法。
最近在項目當中遇到了完全退出程序的問題。總想找一種比較漂亮的方式來實現。最終發現可以利用Stack來管理所有的Activity。
Activity管理類,與android自身管理類沒有關系哈
import java.util.Stack;
import android.app.Activity;
public class ActivityManager {
private static Stack activityStack;
private static ActivityManager instance;
private ActivityManager(){
}
public static ActivityManager getScreenManager(){
if(instance==null){
instance = new ActivityManager();
}
return instance;
}
//退出棧頂
public void popActivity(Activity activity){
if(activity != null){
activity.finish();
activityStack.remove(activity);
activity=null;
}
}
//獲得當前棧頂
public Activity currentActivity(){
Activity activity = null;
if(!activityStack.empty()){
activity = activityStack.lastElement();
}
return activity;
}
//當前Activity推入棧中
public void pushActivity(Activity activity){
if(activityStack == null){
activityStack = new Stack();
}
activityStack.add(activity);
}
//退出所有Activity
public void popAllActivityExceptionOne(){
while(true){
Activity activity = currentActivity();
if(activity == null){
break;
}
if(activity.getClass().equals(cls)){
break;
}
popActivity(activity);
}
}
}
android矩陣詳解
解釋一下,上面的sinX和cosX,表示旋轉角度的cos值和sin值,注意,旋轉角度是按順時針方向計算的。 translateX
Android 源碼系列之(九)從源碼的角度深入理解Activity的launchModel特性
隨著公司新業務的起步由於原有APP_A的包已經很大了,所以上邊要求另外開發一款APP_B,要求是APP_A和APP_B賬號通用且兩個APP可以相互打開。賬號通用也就是說在
Android M新控件知識整理
前言:Google官方在14年Google I/O上推出了全新的設計語言——Material Design。一並推出了一系列實現Material
butterknife源碼詳解
作為Android開發者,大家肯定都知道大名鼎鼎的butterknife。它大大的提高了開發效率,雖然在很早之前就開始使用它了,但是只知道是通過注解的方式實現的,卻一直沒