最近需要实现一个透明对话框效果,上网查了很多关于对话框背景透明的资料,做出来的效果如下图,点击Button1弹出对话框,虽然设置对话框的背景为透明,但是实际显示黑色。
而我想实现的是如下效果,于是只能自己修改
实现代码如下:
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class LoadingActivity extends Activity {
private Button button1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Dialog dialog = new Dialog(LoadingActivity.this, R.style.dialog);
dialog.setContentView(R.layout.loading_dialog);
dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
dialog.show();
}
});
}
}
注意一定要有: dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);否则黑色背景无法去掉。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<ProgressBar android:id="@+id/progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
style="?android:attr/progressBarStyleSmall"
android:layout_centerVertical="true"
/>
<TextView
android:layout_toRightOf="@id/progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="正在获取数据"
android:layout_centerVertical="true"
android:gravity="center"
/>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<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">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>
</resources>
另外,在AndroidManifest.xml的Activity声明中要添加android:configChanges="orientation",否则旋转屏幕时会出现WindowLeaked错误,导致对话框消失。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.lanhuidong.loaddialog"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="4" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name="LoadingActivity" android:configChanges="orientation"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
- 大小: 22.2 KB
- 大小: 22.1 KB
分享到:
相关推荐
在Android开发中,半透明对话框是一种常见的UI设计,它能提供良好的用户体验,让用户在查看或操作主要界面的同时,能够注意到对话框中的信息提示或功能选项。本项目"Android代码-半透明对话框Demo源码.zip"包含了...
在Windows编程领域,UI(用户界面)设计是至关重要的,而透明对话框是提升用户体验的一种高级技巧。在VC++环境中,实现透明对话框涉及到多个关键知识点,这些知识点将帮助开发者创建更加美观、交互性强的应用程序。 ...
在Android开发中,半透明对话框是一种常见的UI设计,它能提供一种轻量级的交互方式,让用户在不离开当前界面的情况下与应用进行交互。本文将深入探讨如何在Android中实现半透明对话框,以及其背后的原理和相关知识点...
在VC++编程环境中,创建透明对话框是一种常见且有趣的技术,它可以为用户界面带来更现代、更吸引人的视觉效果。本文将深入探讨如何在VC++中实现透明对话框,以及如何利用自绘技术来实现这一功能。 首先,透明对话框...
在Microsoft Visual C++ 6.0 (VC6.0) 中,MFC(Microsoft Foundation Classes)库提供了一种创建透明对话框的方法。透明对话框是一种能够显示在其下的窗口部分的特殊对话框,允许用户与背景窗口进行交互。下面将详细...
在Android开发中,半透明对话框是一种常见的UI设计,它能提供良好的用户体验,让用户与当前应用的主要内容互动的同时,还能注意到对话框中的信息提示。这个"Android 半透明对话框Demo源码"提供了实现此类效果的实例...
在Windows编程中,创建透明对话框或不规则对话框是一项高级技术,主要涉及到窗口样式、绘图机制以及可能的GDI+或Direct2D等图形库的使用。本篇文章将详细探讨如何在VC++环境中实现这样的功能。 首先,我们要了解...
半透明对话框是一种在用户界面上提供独特视觉效果的技术,它允许用户透过对话框看到对话框背后的界面元素,同时保持对话框内容清晰可读。这种设计通常用于吸引用户的注意力,而又不完全遮挡主界面,使得用户可以在...
在VC++ 6.0环境下,开发人员经常需要创建具有特殊视觉效果的用户界面,比如透明对话框。透明对话框可以提供更丰富的交互体验,它可以让背景内容透过对话框可见,创造出独特的设计感。本节将详细介绍如何在VC6下实现...
在Visual C++ (VC++)开发环境中,创建自定义半透明对话框和位图按钮是一项常见的需求,这可以提升应用程序的视觉效果和用户体验。本压缩包包含的资源和文档主要涉及了以下几个关键知识点: 1. **半透明对话框**:在...
针对这种情况,我们可以利用JavaScript(JS)技术来实现防止Win7弹出透明对话框的功能。 首先,我们需要理解的是,Windows 7的透明效果是其 Aero 主题的一部分,旨在提供更美观、直观的用户体验。但如果你不希望...
在IT领域,创建不规则形状的透明对话框是一种高级的用户界面设计技术,它能够提升应用的视觉吸引力和用户体验。不规则形状的对话框通常用于突出显示特定信息或功能,而透明度则允许对话框与背景内容融合,创造更自然...
在Android开发中,创建一个半透明对话框是一个常见的需求,它可以提供更好的用户体验,使用户能够看到背景中的内容,同时保持对话框的突出显示。本文将深入解析如何在Android中实现半透明对话框,并通过提供的...
在Android开发中,半透明对话框是一种常见的UI设计,它能提供一种轻量级的交互方式,让用户在不离开当前界面的情况下与应用进行交互。这个"Android 半透明对话框Demo源码.rar"文件很可能是包含了一个实现半透明...
在Android开发中,半透明对话框是一种常见的UI设计,它能提供一种轻量级的交互方式,让用户在不离开当前界面的情况下与应用进行交互。这个"Android 半透明对话框Demo源码.zip"包含了实现这一功能的相关代码示例。...
在Android开发中,半透明对话框是一种常见的UI设计,它能够提供一种轻量级的交互方式,不打断用户的主线操作,同时又能提醒用户注意某些信息或进行简单的交互。本示例将详细介绍如何在Android中创建一个半透明对话框...
在Android开发中,半透明对话框是一种常见的交互设计,它能提供一种轻量级的界面,用户可以在不完全隐藏背景内容的情况下与对话框进行交互。这个"Android 半透明对话框Demo源码"是一个适用于学生毕业设计的学习资源...
在安卓(Android)开发中,实现半透明对话框是一种常见的需求,它可以在用户与主界面交互的同时提供一种轻量级的提示或者信息展示方式。这个压缩包中的内容显然是一个关于如何实现半透明对话框的Demo源码,包含了...