`
lanhuidong
  • 浏览: 226324 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

透明对话框

阅读更多

最近需要实现一个透明对话框效果,上网查了很多关于对话框背景透明的资料,做出来的效果如下图,点击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代码-半透明对话框Demo源码.zip

    在Android开发中,半透明对话框是一种常见的UI设计,它能提供良好的用户体验,让用户在查看或操作主要界面的同时,能够注意到对话框中的信息提示或功能选项。本项目"Android代码-半透明对话框Demo源码.zip"包含了...

    透明对话框VC++,UI技术

    在Windows编程领域,UI(用户界面)设计是至关重要的,而透明对话框是提升用户体验的一种高级技巧。在VC++环境中,实现透明对话框涉及到多个关键知识点,这些知识点将帮助开发者创建更加美观、交互性强的应用程序。 ...

    半透明对话框

    在Android开发中,半透明对话框是一种常见的UI设计,它能提供一种轻量级的交互方式,让用户在不离开当前界面的情况下与应用进行交互。本文将深入探讨如何在Android中实现半透明对话框,以及其背后的原理和相关知识点...

    透明对话框窗体透明对话框窗体

    在Windows编程中,创建透明对话框窗体是一种增强用户界面体验的技术。透明窗体使得对话框部分或全部区域可以透过,展示其背后的窗口内容,从而为用户提供更美观、更具交互性的应用界面。本文将深入探讨如何实现透明...

    vc 透明对话框 简单方便 自绘对话框

    在VC++编程环境中,创建透明对话框是一种常见且有趣的技术,它可以为用户界面带来更现代、更吸引人的视觉效果。本文将深入探讨如何在VC++中实现透明对话框,以及如何利用自绘技术来实现这一功能。 首先,透明对话框...

    透明对话框VC6.0 MFC

    在Microsoft Visual C++ 6.0 (VC6.0) 中,MFC(Microsoft Foundation Classes)库提供了一种创建透明对话框的方法。透明对话框是一种能够显示在其下的窗口部分的特殊对话框,允许用户与背景窗口进行交互。下面将详细...

    Android 半透明对话框Demo源码

    在Android开发中,半透明对话框是一种常见的UI设计,它能提供良好的用户体验,让用户与当前应用的主要内容互动的同时,还能注意到对话框中的信息提示。这个"Android 半透明对话框Demo源码"提供了实现此类效果的实例...

    透明对话框,不规则对话框

    在Windows编程中,创建透明对话框或不规则对话框是一项高级技术,主要涉及到窗口样式、绘图机制以及可能的GDI+或Direct2D等图形库的使用。本篇文章将详细探讨如何在VC++环境中实现这样的功能。 首先,我们要了解...

    半透明对话框的源代码资源

    半透明对话框是一种在用户界面上提供独特视觉效果的技术,它允许用户透过对话框看到对话框背后的界面元素,同时保持对话框内容清晰可读。这种设计通常用于吸引用户的注意力,而又不完全遮挡主界面,使得用户可以在...

    vc6下实现的透明对话框源代码

    在VC++ 6.0环境下,开发人员经常需要创建具有特殊视觉效果的用户界面,比如透明对话框。透明对话框可以提供更丰富的交互体验,它可以让背景内容透过对话框可见,创造出独特的设计感。本节将详细介绍如何在VC6下实现...

    visual c++ vc自定义半透明对话框 显示半透明位图对话框和位图按钮.zip

    在Visual C++ (VC++)开发环境中,创建自定义半透明对话框和位图按钮是一项常见的需求,这可以提升应用程序的视觉效果和用户体验。本压缩包包含的资源和文档主要涉及了以下几个关键知识点: 1. **半透明对话框**:在...

    防Win7 弹出透明对话框

    针对这种情况,我们可以利用JavaScript(JS)技术来实现防止Win7弹出透明对话框的功能。 首先,我们需要理解的是,Windows 7的透明效果是其 Aero 主题的一部分,旨在提供更美观、直观的用户体验。但如果你不希望...

    不规则形状的透明对话框

    在IT领域,创建不规则形状的透明对话框是一种高级的用户界面设计技术,它能够提升应用的视觉吸引力和用户体验。不规则形状的对话框通常用于突出显示特定信息或功能,而透明度则允许对话框与背景内容融合,创造更自然...

    Android源码——半透明对话框Demo源码.zip

    在Android开发中,创建一个半透明对话框是一个常见的需求,它可以提供更好的用户体验,使用户能够看到背景中的内容,同时保持对话框的突出显示。本文将深入解析如何在Android中实现半透明对话框,并通过提供的...

    Android 半透明对话框Demo源码.rar

    在Android开发中,半透明对话框是一种常见的UI设计,它能提供一种轻量级的交互方式,让用户在不离开当前界面的情况下与应用进行交互。这个"Android 半透明对话框Demo源码.rar"文件很可能是包含了一个实现半透明...

    Android 半透明对话框Demo源码.zip

    在Android开发中,半透明对话框是一种常见的UI设计,它能提供一种轻量级的交互方式,让用户在不离开当前界面的情况下与应用进行交互。这个"Android 半透明对话框Demo源码.zip"包含了实现这一功能的相关代码示例。...

    Android半透明对话框Demo源码.zip

    在Android开发中,半透明对话框是一种常见的UI设计,它能够提供一种轻量级的交互方式,不打断用户的主线操作,同时又能提醒用户注意某些信息或进行简单的交互。本示例将详细介绍如何在Android中创建一个半透明对话框...

    Android 半透明对话框Demo源码-IT计算机-毕业设计.zip

    在Android开发中,半透明对话框是一种常见的交互设计,它能提供一种轻量级的界面,用户可以在不完全隐藏背景内容的情况下与对话框进行交互。这个"Android 半透明对话框Demo源码"是一个适用于学生毕业设计的学习资源...

Global site tag (gtag.js) - Google Analytics