Demo地址:http://download.csdn.net/detail/baopengjian/9923763
#1 需求:
Activity定义成dialog样式(Dialog的话,context有些情况是Service,receiver,dialog重复问题);
#2 效果图:
#3 实现
Activity定义Theme:
<style name="ProjectDialogTheme" parent="@android:style/Theme.Holo.Light.Dialog">
<item name="android:windowNoTitle">true</item><!-- Activity无标题-->
<item name="android:windowBackground">@android:color/transparent</item><!-- dialog外无背景-->
<item name="android:windowCloseOnTouchOutside">false</item><!-- dialog外点击无效果-->
</style>
xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:background="@drawable/dialog_background_top"
android:layout_width="match_parent"
android:layout_height="40dp"
android:gravity="center"
android:text="标题"
android:textColor="@android:color/white"
android:textSize="28dp" />
<TextView
android:background="@android:color/white"
android:layout_width="match_parent"
android:layout_height="200dp"
android:gravity="center"
android:text="内容"
android:textColor="@android:color/black" />
<View
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:background="@android:color/holo_red_light" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="取消"
android:background="@drawable/dialog_background_bottom_left"
android:textColor="@android:color/black" />
<View
android:layout_width="0.5dp"
android:layout_height="match_parent"
android:background="@android:color/holo_red_light" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="确定"
android:background="@drawable/dialog_background_bottom_right"
android:textColor="@android:color/black" />
</LinearLayout>
</LinearLayout>
#4 注意:
底部和头部的圆角需要定义到按钮上,不然会覆盖