83
技术社区[云栖]
Android对话框的自定义及透明效果
着手点在于Dialog,如要透明效果,则需要使用自定义的style,去除背景图片。参照代码
<style name="progress_dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:background">@null</item>
<item name="android:windowBackground">@null</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
如需要使用自定义的界面,则需要用户自定义layout,参照代码progress_dialog.xml
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:androhttps://schemas.android.com/apk/res/android" >https://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ProgressBar android:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_centerVertical="true" />
</RelativeLayout>
实例代码是为了显示一个终端自带的loading效果,背景为透明(ProgressBar)
progressDialog = new Dialog(context, R.style.progress_dialog);
progressDialog.setContentView(R.layout.progress_dialog);
progressDialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
progressDialog.show();
该文章只是起一个引导作用,让开发者知道该如何着手创建自定义的对话框,当然实现的方式还有其他的。
最后更新:2017-04-02 22:16:33