使用样式文件,在values 目录下新建styles.xml文件
<resources>
<style name="dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:background">@android:color/black</item>
<item name="android:windowBackground">@null</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
</resources>
调用时,使用AlerDialog的接口类
Dialog dialog =new Dialog(SetActivity.this, R.style.dialog);
dialog.setContentView(R.layout.test);
dialog.show();
public Dialog(Context context, int theme) {
mContext =new ContextThemeWrapper(context, theme ==0?com.android.internal.R.style.Theme_Dialog : theme);
mWindowManager = (WindowManager)context.getSystemService("window");
Window w = PolicyManager.makeNewWindow(mContext);
mWindow = w;
w.setCallback(this);
w.setWindowManager(mWindowManager, null, null);
w.setGravity(Gravity.CENTER);
mUiThread = Thread.currentThread();
mDismissCancelHandler =new DismissCancelHandler(this);
}
2013-11-8号更新:
http://www.open-open.com/lib/view/open1325635738437.html
http://www.cnblogs.com/and_he/archive/2011/09/16/2178716.html
http://blog.csdn.net/qjlhlh/article/details/7979179
用Window 定义dialog的位置和属性:
http://www.cnblogs.com/angeldevil/archive/2012/03/31/2426242.html
android自带的dialog的默认样式挺丑的,如果你想要自定义dialog的样式,需要写一个style样式。
最近总是在用dialog,发现还是有很多地方要注意的。比如我点击dialog外部区域是否让dialog消失就可以通过一个属性设置?