dialog的应用

第一步:重写dialog:

①代码:

public static Dialog creatRequestDialog(final Context context, String tip) {

        final Dialog dialog = new Dialog(context, R.style.dialog);

        // dialog.setCancelable(false);
        // dialog.setCanceledOnTouchOutside(false);

        dialog.setContentView(R.layout.dialog_layout);
        Window window = dialog.getWindow();
        WindowManager.LayoutParams lp = window.getAttributes();
        int width = Utils.getScreenWidth(context);
        lp.width = (int) (0.5 * width);

        TextView titleTxtv = (TextView) dialog.findViewById(R.id.tvLoad);
        titleTxtv.setText(tip);

        return dialog;
       }

②dialog的style设置:

<style name="dialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowIsFloating">true</item>
        <!-- 设置未浮动窗口 -->
        <item name="android:windowFrame">@null</item>
        <!-- 设置无边框 -->
        <item name="android:windowNoTitle">true</item>
        <!-- 设置无标题 -->
        <item name="android:windowBackground">@color/sc_transparent_background</item>
        <!-- 设置完全透明 -->
        <item name="android:backgroundDimEnabled">true</item>
        <!-- 设置屏幕变暗 -->
    </style>

③dialog的布局设置:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/loading_bg"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:paddingBottom="15dp"
    android:paddingLeft="20dp"
    android:paddingRight="20dp"
    android:paddingTop="15dp" >

    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:indeterminateDrawable="@drawable/frame_loading" />

    <TextView
        android:id="@+id/tvLoad"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="5dp"
        android:textColor="#ffffffff"
        android:textSize="17.0sp" />

</LinearLayout>

第二步:dialog的应用:

public void showRequestDialog(String msg) {
        if (mDialog != null) {
            mDialog.dismiss();
            mDialog = null;
        }
        mDialog = DialogFactory.creatRequestDialog(this, msg);
        // mDialog.setCancelable(false);
        mDialog.setCanceledOnTouchOutside(false);//防止4.0系统点击dialog之外时出现崩溃问题
         mDialog.show();
    }
    //关闭Dialog
public void closeRequestDialog() {
      if (mDialog != null) {
            mDialog.dismiss();
            mDialog = null;
       }

    }
    //回退
    @Override
    public void onBackPressed() {
        super.onBackPressed();
        finish();
    }
时间: 2024-11-06 04:20:05

dialog的应用的相关文章

从零开始学android -- dialog

先看个效果图 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match

用dialog在前台实现一个简单的UI对话框

<!doctype html><html lang="en"><head> <meta charset="utf-8"> <title>对话框部件(Dialog Widget)演示</title> <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.m

android 2.x上Dialog特定情况导致无法dismiss的bug

近期在做一个简单的对话框框架,作用不过做出一个显示效果在android 2.x到android 4.x上均类似的对话框. 思路比較简单,就是使用装饰模式包裹Dialog,暴露的接口调用时会自己主动完毕一些设置 可是遇到一个特别诡异的问题,在android 2.x上的Dialog对话框无法被dismiss,仅仅要弹出来界面就卡死,强行使用eclipse又一次run的话会导致android设备黑屏无响应,假设是模拟器,则直接崩溃,看到启动画面.并且这个还不是ANR错误. 后来通过删减代码找到了问题的

weui dialog 效果

切记:weui dialog 的样式是在weui.css,而不是在weui.min.css HTML: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0" /> <

Android 对话框 Dialog

对话框 Dialog 什么是对话框 对话框是在当前的页面之上弹出的小窗口, 用于显示一些重要的提示信息, 提示用户的输入,确认信息, 或显示某种状态.如 :  显示进度条对话框, 退出提示. 对话框的特点: 1, 当前界面弹出的小窗口. 2, 用户要与它进行交互, 可以接收用户输入的信息, 也可以反馈信息给用户. 常用对话框: 1, 普通对话框 AlertDialog 2, 进度条对话框  ProgressDialog 3, 日期对话框    DatePickerDialog 4, 时间对话框

Android 弹出对话框Dialog充满屏幕宽度

final View view = LayoutInflater.from(context).inflate(layoutId, null); final Dialog dialog = new Dialog(context, R.style.style_dialog); dialog.setContentView(view); dialog.show(); Window window = dialog.getWindow(); window.setGravity(Gravity.BOTTOM)

Android 自定义Dialog类,并在Activity中实现按钮监听。

实际开发中,经常会用到Dialog,比如退出时候会弹出是否退出,或者还有一些编辑框也会用Dialog实现,效果图如下: 开发中遇到的问题无非在于如果在Activity中监听这个Dialog中实现的按钮,Dialog类如下,在MyDialog这个类中实现了一个LeaveMyDialogListener接口,用来实现onclick的点击事件: package com.Ieasy.Tool; import com.Ieasy.ieasyware.R; import android.app.Dialog

bootstrap中dialog水平垂直居中

方法一: HTML: <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">     Launch demo modal </button> <!-- Modal --> <div class="modal fade" id=&q

jquery easyui 调用dialog的两种方式

1. <div class="easyui-dialog" id="dd" title="My Dialog" style="width:400px;height:200px;"> Dialog Content. helloWord </div> 2. <script type="text/javascript"> $(function(){ $('#dd').dialo

App更新之dialog数字进度条

App更新之dialog数字进度条 前言:现在一般的Android软件都是需要不断更新的,当你打开某个app的时候,如果有新的版本,它会提示你有新版本需要更新.当有更新时,会弹出一个提示框,点击下载,则在通知来创建一个数字进度条进行下载,下载成功后才到安装界面. 效果: 开发环境:AndroidStudio2.2.1+gradle-2.14.1 涉及知识: 1.Handler机制 2.自定义控件+Canvas绘画 3.自定义dialog 部分代码: public class NumberProg