前言
做事,寫代碼都要找到最優的方案!
Activity中獲取Fragment對象
EmailPullFragment fragment = (EmailPullFragment) getSupportFragmentManager().findFragmentById(R.id.frame_content);
if (null != fragment) {
if (fragment.checkHaveEmailData()) {
ToastUtil.showCentreToast(EmailPullHomeActivity.this,R.string.email_no_batch_edit_hint);
return;
} else {
startActivity(intent);
}
} else {
startActivity(intent);
}
Activity中獲取跟佈局(RootView)
((ViewGroup) context.findViewById(android.R.id.content)).getChildAt(0).setFitsSystemWindows(true);
通過上面的設置我們就在代碼中實現了沉浸式的效果,當然要在基類中設置,因爲是統一的效果,基類設置也需要注意下,注意Activity加載過程,要在setContentView後,系統計算好佈局高度一系列工作後展示到用戶面前的時候,展示到用戶面前,有個週期不就是onResume()嗎,在基類的這個週期里加上上述的代碼即可簡單快速的實現沉浸式效果!(4.4系統的沉浸式和5.0系統之後的設置效果一樣,雖然沉浸式的樣式有所變化,那是系統級的變化,不影響使用!)IntentService
動態註冊廣播
Android中的盒子模型
<RelativeLayout
android:layout_width="60dp"
android:gravity="center"
android:layout_height="60dp">
<ImageView
android:layout_width="wrap_content"
android:src="@drawable/message_icon"
android:layout_centerHorizontal="true"
android:layout_alignParentRight="true"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_gravity="top|right"
android:layout_alignParentRight="true"
android:layout_marginTop="-3dp"
android:layout_marginRight="-3dp"
android:gravity="right|top"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_new_message"
android:layout_width="10dp"
android:layout_height="10dp"
android:visibility="gone"
android:src="@drawable/message_circle_bg"
/>
</LinearLayout>
</RelativeLayout>
android:layout_marginTop="-3dp"
android:layout_marginRight="-3dp"