开放一个继承于FragmentActivity的页面
发布时间:2020-12-14 23:37:35 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 package com.wei.core.activity;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.lang.ref.Weak
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 package com.wei.core.activity; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.lang.ref.WeakReference; import android.app.Activity; import android.app.AlertDialog; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnCancelListener; import android.content.Intent; import android.content.IntentFilter; import android.graphics.Bitmap; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import com.baidu.mobstat.StatService; import com.house365.app.analyse.HouseAnalyse; import com.house365.app.analyse.data.AnalyseMetaData; import com.house365.core.R; import com.house365.core.action.ActionTag; import com.house365.core.anim.AnimBean; import com.house365.core.application.BaseApplication; import com.house365.core.constant.CorePreferences; import com.house365.core.image.AsyncImageLoader; import com.house365.core.image.AsyncImageLoader.BitMapInputStream; import com.house365.core.image.CacheImageUtil; import com.house365.core.image.CacheImageUtil.TextImagePosition; import com.house365.core.image.ImageLoadedCallback; import com.house365.core.touch.ImageViewTouch; import com.house365.core.view.LoadingDialog; import com.umeng.analytics.MobclickAgent; public abstract class BaseCommonActivity extends FragmentActivity { protected String getTAG() { return this.getClass().getName(); } protected Activity thisInstance; protected LoadingDialog tloadingDialog; private AsyncImageLoader mAil; protected BaseApplication mApplication; protected AlertDialog.Builder alertDialog; private BroadcastReceiver mLoggedOutReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context,Intent intent) { finish(); } }; protected void onCreate(android.os.Bundle savedInstanceState) { super.onCreate(savedInstanceState); thisInstance = this; mApplication = (BaseApplication) getApplication(); registerReceiver(mLoggedOutReceiver,new IntentFilter(ActionTag.INTENT_ACTION_LOGGED_OUT)); preparedCreate(savedInstanceState); initView(); initData(); } protected abstract void preparedCreate(android.os.Bundle savedInstanceState); protected abstract void initView(); protected abstract void initData(); protected void onDestroy() { // overridePendingTransition(R.anim.slide_fix,R.anim.slide_out_bottom); super.onDestroy(); dismissLoadingDialog(); tloadingDialog = null; alertDialog = null; if (mAil != null) { mAil.clearCacheImage(); } clean(); // mApplication.onAppCancel(); unregisterReceiver(mLoggedOutReceiver); } public void setImage(final ImageView imageView,String imageUrl,final int resId,int scaleType) { CacheImageUtil.setCacheImage(imageView,imageUrl,resId,scaleType,getImageLoader()); } // liuziqiang overload setImage public void setImage(final ImageView imageView,int scaleType,final ImageLoadedCallback imgLoadObj) { CacheImageUtil.setCacheImage(imageView,getImageLoader(),imgLoadObj); } public void setTextImage(final TextView textView,TextImagePosition position,String imageUrl) { CacheImageUtil.setCacheTextImage(textView,position,getImageLoader()); } public void setTouchImage(final ImageViewTouch imageView,int scaleType) { CacheImageUtil.setTouchImage(imageView,getResources(),getImageLoader()); } public AsyncImageLoader getImageLoader() { if (mAil == null) { mAil = new AsyncImageLoader(this); } return mAil; } public void setImage(final ImageView imageView,final String localFileUri) { try { int w = imageView.getWidth(); int h = imageView.getHeight(); if (w < 0) { w = -1; } if (h < 0) { h = -1; } Bitmap bitmap = mAil.getBitMapFromStream(new BitMapInputStream() { @Override public InputStream getInputStream() throws IOException { return new FileInputStream(localFileUri); } },w,h,mAil.IMAGE_SCALE_TYPE_NONE); if (bitmap != null && !bitmap.isRecycled()) { imageView.setImageBitmap(bitmap); } } catch (IOException e) { CorePreferences.ERROR(e); } } private LoadingDialog getLoadingDialog() { if (tloadingDialog == null) { tloadingDialog = new LoadingDialog(this,R.style.dialog,R.string.loading); tloadingDialog.setCancelable(isCancelDialog()); if (isCancelDialog()) { tloadingDialog.setOnCancelListener(new OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { onExitDialog(); } }); } } return tloadingDialog; } public void showLoadingDialog() { if (getLoadingDialog() != null) { getLoadingDialog().show(); } } public void showLoadingDialog(int resid) { if (getLoadingDialog() != null) { getLoadingDialog().setMessage(this.getResources().getString(resid)); getLoadingDialog().show(); } } public void dismissLoadingDialog() { if (getLoadingDialog() != null) { getLoadingDialog().dismiss(); } } @Override protected void onSaveInstanceState(Bundle outState) { try { super.onSaveInstanceState(outState); } catch (NullPointerException e) { } } public AlertDialog.Builder getAlertDialog() { if (alertDialog == null) { alertDialog = new AlertDialog.Builder(this); } return alertDialog; } public void showToast(String str) { Toast.makeText(this,str,Toast.LENGTH_SHORT).show(); } public void showToast(int resId) { Toast.makeText(this,Toast.LENGTH_SHORT).show(); } public void onExitDialog() { thisInstance.finish(); } public boolean isCancelDialog() { return true; } protected void clean() { } AnalyseMetaData analyseMetadata; protected void onResume() { super.onResume(); if (CorePreferences.getInstance(this).getCoreConfig().isAnalyse()) { analyseMetadata = HouseAnalyse.onPageResume(this); // UMeng String pageName = this.getClass().getSimpleName(); CorePreferences.DEBUG("pageName:" + pageName); MobclickAgent.onPageStart(pageName); MobclickAgent.onResume(this); } if (CorePreferences.getInstance(this).getCoreConfig().isOpenBaiduStat()) { StatService.onResume(this); } } protected void onPause() { super.onPause(); if (CorePreferences.getInstance(this).getCoreConfig().isAnalyse()) { // 自有统计后台 HouseAnalyse.onPagePause(analyseMetadata); // UMeng String pageName = this.getClass().getSimpleName(); CorePreferences.DEBUG("pageName:" + pageName); MobclickAgent.onPageEnd(pageName); MobclickAgent.onPause(this); } if (CorePreferences.getInstance(this).getCoreConfig().isOpenBaiduStat()) { StatService.onPause(this); } } public void finish() { super.finish(); AnimBean animBean = getFinishAnim(); if (animBean != null && animBean.getIn() > 0 && animBean.getOut() > 0) { overridePendingTransition(animBean.getIn(),animBean.getOut()); } } @Override public void startActivity(Intent intent) { super.startActivity(intent); AnimBean animBean = getStartAnim(); if (animBean != null && animBean.getIn() > 0 && animBean.getOut() > 0) { overridePendingTransition(animBean.getIn(),animBean.getOut()); } } @Override public void startActivityForResult(Intent intent,int requestCode) { super.startActivityForResult(intent,requestCode); AnimBean animBean = getStartAnim(); if (animBean != null && animBean.getIn() > 0 && animBean.getOut() > 0) { overridePendingTransition(animBean.getIn(),animBean.getOut()); } } public AnimBean getStartAnim() { // return new AnimBean(R.anim.slide_in_bottom,R.anim.slide_fix); return new AnimBean(R.anim.slide_in_right,R.anim.slide_fix); } public AnimBean getFinishAnim() { // return new AnimBean(R.anim.slide_fix,R.anim.slide_out_bottom); return new AnimBean(R.anim.slide_fix,R.anim.slide_out_right); } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |