前言
做事,写代码都要找到最优的方案!
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"