自定义dialog二三事

效果图:

代码:

public class ViewActivity extends Activity implements View.OnClickListener {

    Dialog mDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_view);

        initDialog(this);
    }

    @Override
    public void onClick(View v) {
        mDialog.show();
    }

    public void initDialog(Context context) {
        View view = LayoutInflater.from(context).inflate(R.layout.view_share, null);
        mDialog = new Dialog(context, R.style.Translucent_Dialog);
        mDialog.setContentView(view);

        ImageView iv_cancel = (ImageView) view.findViewById(R.id.iv_cancel);
        iv_cancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mDialog.dismiss();
            }
        });
    }
}

透明背景的样式:

<style name="Translucent_Dialog" parent="@android:style/Theme.Dialog">
        <!-- 设置自定义布局的背景透明 -->
        <item name="android:background">@android:color/transparent</item>
        <!-- 设置window背景透明,也就是去边框 -->
        <item name="android:windowBackground">@android:color/transparent</item>
        <!-- 设置Activity背景是否变灰 -->
        <item name="android:backgroundDimEnabled">false</item>
    </style>

更改backgroundDimEnabled可以去掉灰色背景,效果如图:

tip:

//想要有这种透明效果的对话框时,不用使用AlertDialog.Builder创建dialog,否则效果会异常
时间: 2024-12-29 11:16:33

自定义dialog二三事的相关文章

Android开发之自定义Dialog二次打开报错问题解决

之前自定义了一个AlertDialog对话框,第一次点击时正常,但第二次调用时会出现错误:java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. 关于这个错误纠结了我好久,在网上百度了也不少,但感觉解决效果都达不到自己想要的效果.网上的解释说是一个子视图指定了多个父视图.由此可以推断出,在第二

自定义popupwindow二三事

效果图: 代码: public class ViewActivity extends Activity implements View.OnClickListener { PopupWindow popWindow; LinearLayout rootView; @Override protected void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_NO_TITLE); super.on

自定义控件(二)自定义Dialog

本节要实现:自定义一个Dialog 结果如下: 步 骤 1.配置register_dialog.xml: 下面是一个自定义的dialog. 功能是:点击dialog所依附的activity上的"注册"按钮,弹出此对话框. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/r

初识zabbix需了解的二三事

简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案: zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题: 监控平台的组成 数据采集 --> 数据存储 --> 数据展示和分析 --> 报警 常见监控实现方案对比 cacti 优点:利用rrdtool绘图,图形美观: 缺点:报警功能薄弱,不适合大规模监控场景: nagios 优点:报警功能强大: 缺点:只关心正常与否的状态,数

非自定义和自定义Dialog的介绍!!!

一.非自定义Dialog的几种形式介绍 转自:http://www.kwstu.com/ArticleView/kwstu_20139682354515 前言 对话框对于应用也是必不可少的一个组件,在Android中也不例外,对话框对于一些提示重要信息,或者一些需要用户额外交互的一些内容很有帮 助.本篇博客就讲解一下Android下对话框的使用,在本篇博客中,将了解到对话框的一些常规属性的设置,以及各式的对话框的使用,并都会提供小 Demo来展示所有的效果. Dialog Dialog,对话框,

iOS7下滑动返回与ScrollView共存二三事

[转载请注明出处] = =不是整篇复制就算注明出处了亲... iOS7下滑动返回与ScrollView共存二三事 [前情回顾] 去年的时候,写了这篇帖子iOS7滑动返回.文中提到,对于多页面结构的应用,可以替换interactivePopGestureRecognizer的delegate以统一管理应用中所有页面滑动返回的开关,比如在UINavigationController的派生类中 1 //我是一个NavigationController的派生类 2 - (id)initWithRootV

Android自定义Dialog简单实例

做Android应用中,最缺少不了的就是自定义Dialog,对于系统默认提供的Dialog样式,一般都不复合我们应用的样式. 自定义Dialog需要3步骤即可: 1.主要的重写Dialog的Java类 2.清除Dialog Theme,在style.xml文件中加一个即可 3.使用方法 一.创建CustomPopDialog2.java类 package com.lenovocw.music.app.widget; import com.lenovocw.zhuhaizxt.R; import

Presentation与自定义Dialog的使用

本文为原创文章,转载请注明出处. 文章最后附带DEMO,请需要的朋友下载. 从API 17开始,Android提供了Presentation类,为多屏异显开发提供了官方支持,当然最终需求的实现也需要底层硬件及驱动的支持. 基本需求:控制辅屏全屏显示与主显不同的内容,且当主显全屏显示的内容变化后对辅屏显示内容的延续性(例如辅屏视频播放)不产生影响. 本文主要内容有以下几点: (1)Presentation的基本用法: (2)自定义Dialog的使用(全屏): (3)采用自定义Dialog对话框方式

自定义Dialog宽度占满屏幕

一.自定义Dialog继承Dialog public class MyDialog extends Dialog { 二.为Dialog设置样式 在style中建立新样式继承 @android:style/Theme.Dialog 或者 @android:style/Theme.Holo.Dialog 设置样式去掉边框 去掉标题 设置窗口透明 设置点击对话框外边可以消失等 设置动画 <!-- <style name="MyDialog" parent="@andr