版權聲明:本文爲HaiyuKing原創文章,轉載請註明出處!java
這裏簡單記錄下Activity、Fragment、Dialog基類中的常規寫法,後續根據項目需求進行相應的擴展。android
package com.why.project.myapptemplet.activity; import android.content.pm.ActivityInfo; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.DisplayMetrics; import android.util.Log; import android.view.Window; /** * Created by HaiyuKing * Used */ public class BaseActivity extends AppCompatActivity { private static final String TAG = BaseActivity.class.getSimpleName(); public static int screenWidth;//屏幕寬度 public static int screenHeight;//屏幕高度 public static int screenDendity;//屏幕密度比例 public static int screenDendityDpi;//屏幕密度 @Override protected void onCreate(Bundle savedInstanceState) { // 去掉標題欄 this.requestWindowFeature(Window.FEATURE_NO_TITLE); //保持屏幕爲橫屏或者豎屏,禁止旋轉 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//豎屏 //setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//橫屏 //將Acitivity 中的Window 的背景圖設置爲空,解決Android Activity切換時出現白屏問題 getWindow().setBackgroundDrawable(null); //打印當前活動的activity Log.d(TAG, getClass().getSimpleName());// 知曉當前是在哪個活動 //三、獲取屏幕寬和高 DisplayMetrics metric = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metric); screenWidth = metric.widthPixels;// 屏幕寬度(像素) screenHeight = metric.heightPixels;//屏幕高度(像素) screenDendity = (int) metric.density;//屏幕密度比例3 screenDendityDpi = metric.densityDpi;//屏幕密度480 super.onCreate(savedInstanceState); } }
package com.why.project.myapptemplet.fragment; import android.os.Bundle; import android.support.v4.app.Fragment; /** * Used 基礎碎片類 */ public class BaseFragment extends Fragment { //傳遞過來的參數Bundle,供子類使用 protected Bundle args; /** * 建立fragment的靜態方法,方便傳遞參數 * @param args 傳遞的參數 * @return */ public static <T extends Fragment>T getInstance(Class clazz, Bundle args) { T mFragment=null; try { mFragment= (T) clazz.newInstance(); } catch (java.lang.InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } mFragment.setArguments(args); return mFragment; } /** * 初始建立Fragment對象時調用 * @param savedInstanceState */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); args = getArguments(); } }
package com.why.project.myapptemplet.dialog; import android.support.v4.app.DialogFragment; /** * Created by HaiyuKing * Used */ public class BaseDialogFragment extends DialogFragment { }
暫時空缺git