`

自定义Dialog

阅读更多

 自定义Dialog

 

 新建一个自定义的Dialog类,取名MyDialog,继承自Dialog

 

package
 com.and.mydialog;


import
 android.app.Dialog;

import
 android.content.Context;

import
 android.os.Bundle;

import
 android.view.LayoutInflater;

import
 android.view.View;


public
 
class
 MyDialog 
extends
 Dialog

 {

    Context context;
    
public
 MyDialog(Context context) {
        
super
(context);
        
//
 TODO Auto-generated constructor stub


        
this
.context 
=
 context;
    }
    
public MyDialog(Context context, int theme){
        super(context, theme);
        this.context =

 context;


    }


    @Override
    
protected
 
void
 onCreate(Bundle savedInstanceState) {
        
//
 TODO Auto-generated method stub


        
super
.onCreate(savedInstanceState);
        
this
.setContentView(R.layout.dialog);
    }

}

 

相应的布局文件dialog.xml

<?
xml version="1.0" encoding="utf-8"
?>


<
LinearLayout 
xmlns:android
="http://schemas.android.com/apk/res/android"

    android:orientation
="vertical"

    android:layout_width
="wrap_content"

    android:layout_height
="wrap_content"

    android:gravity
="center_vertical|center_horizontal"

    android:background
="@drawable/dialog_bg"
>

    
<
RelativeLayout 
        
android:layout_width
="fill_parent"

        android:layout_height
="wrap_content"

        android:paddingLeft
="30dip"

        android:paddingTop
="10dip"
>

        
<
ImageView 
            
android:id
="@+id/dialog_title_image"

            android:layout_alignParentLeft
="true"

            android:layout_width
="wrap_content"

            android:layout_height
="wrap_content"

            android:background
="@drawable/dialog_title_image"
/>

        
<
TextView 
            
android:layout_width
="wrap_content"

            android:layout_height
="wrap_content"

            android:layout_marginLeft
="10dip"

            android:layout_centerInParent
="true"

            android:text
="Title"

            android:layout_toRightOf
="@id/dialog_title_image"

            android:textColor
="#000000"

            android:textSize
="30sp"
/>

        
    
</
RelativeLayout
>

    
<
TextView 
            
android:layout_width
="fill_parent"

            android:layout_height
="1dip"

            android:background
="@drawable/lins"

            android:layout_marginTop
="5dip"
/>


    
<
TextView 
        
android:layout_width
="fill_parent"

        android:layout_height
="wrap_content"

        android:text
="This is a custom dialog"

        android:textColor
="#000000"

        android:layout_marginTop
="10dip"

        android:layout_marginLeft
="30dip"
/>

    
<
RelativeLayout 
        
android:layout_width
="fill_parent"

        android:layout_height
="wrap_content"

        android:paddingTop
="10dip"

        android:gravity
="bottom|center_horizontal"

        android:paddingBottom
="10dip"
>

        
<
Button 
            
android:id
="@+id/dialog_button_cancel"

            android:layout_alignParentLeft
="true"

            android:layout_width
="100dip"

            android:layout_height
="wrap_content"

            android:text
="确定"
/>

        
<
Button 
            
android:id
="@+id/dialog_button_ok"

            android:layout_width
="100dip"

            android:layout_height
="wrap_content"

            android:layout_toRightOf
="@id/dialog_button_cancel"

            android:layout_marginLeft
="35dip"

            android:text
="取消"
/>

    
</
RelativeLayout
>


</
LinearLayout
>

  最主要的,是自定义的Style,我们自定义一个式样,用来改变默认的Dialog样式

在values文件夹下新建一个styles.xml文件,如下。。。

<?
xml version="1.0" encoding="utf-8"
?>


<
resources
>

    
<
style 
name
="MyDialog"
 parent
="@android:Theme.Dialog"

>

        
<item name="android:windowFrame">@null</item>
        <item name="android:windowNoTitle">true</item> 
        <item name="android:windowBackground">@drawable/dialog_bg</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@null</item>


    
</
style
>


</
resources
>
分享到:
评论

相关推荐

    各种自定义Dialog 以及Dialog加载动画

    在Android开发中,自定义Dialog和Dialog加载动画是提升应用用户体验的重要手段。默认的Dialog样式虽然功能齐全,但在追求个性化和美观的今天,往往显得过于简单甚至有些过时。因此,开发者常常需要根据应用的设计...

    android 自定义Dialog提示+动画效果

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的UI风格和功能需求进行个性化设计。本文将深入探讨如何实现一个带有动画效果的自定义Dialog,并以"android 自定义Dialog提示+动画效果"为主题...

    自定义dialog仿ios风格的dialog

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者创建具有独特设计和功能的对话框,以符合应用的品牌风格或提供更丰富的用户体验。本文将深入探讨如何在Android中实现一个仿iOS风格的Dialog,并根据...

    自定义Dialog.zip

    "自定义Dialog.zip" 包含了一个实现七种动画效果的自定义Dialog示例,这将帮助开发者学习如何根据需求创建富有创意的弹出窗口。 首先,我们要了解Dialog的基本结构。Dialog通常由布局文件定义,包括标题(title)、...

    Android支付底部弹窗自定义dialog

    接下来,我们需要创建自定义Dialog类,继承自`AppCompatDialogFragment`。在这个类中,我们将加载上面创建的布局,并实现点击事件处理。 ```java public class BottomPaymentDialog extends ...

    Android:自定义Dialog-Demo

    当系统默认的Dialog样式不能满足应用的特定需求时,开发者常常会选择自定义Dialog来实现更个性化的界面和交互体验。本示例"Android:自定义Dialog-Demo"就是针对这种情况提供的一种解决方案。 首先,我们来看自定义...

    自定义Dialog对话框(实现微信分享对话框)

    在Android开发中,自定义Dialog对话框是一种常见的需求,它能提供更为丰富的用户交互体验,尤其是在需要用户进行特定选择或操作时。本教程将详细讲解如何实现一个类似于微信分享的自定义Dialog对话框。 首先,我们...

    自定义dialog弹出框

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的设计风格和功能需求创建具有独特外观和交互效果的对话框。本教程将深入探讨如何实现自定义Dialog,包括利用Shape和Selector来定制样式,以及...

    小程序自定义dialog

    在微信小程序中,自定义dialog(对话框)是一种常见的用户交互设计,用于向用户展示重要信息或进行简单操作确认。自定义dialog可以帮助开发者摆脱微信小程序内置组件的限制,实现更符合应用风格和功能需求的设计。本...

    自定义dialog

    "自定义Dialog"则是对系统默认Dialog样式进行扩展和改造,以满足更个性化的界面设计和功能需求。下面我们将深入探讨如何在Android中自定义Dialog。 一、自定义Dialog的基本步骤 1. 创建布局文件:首先,我们需要...

    android自定义Dialog的简单实现

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的设计风格或者特定功能来创建具有独特外观和行为的对话框。本篇文章将详细解析如何在Android中实现一个简单的自定义Dialog,以及相关的知识点...

    Android 自定义dialog

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的UI风格和功能需求创建具有独特设计和交互方式的对话框。本篇将深入探讨如何在Android中实现自定义Dialog,包括基本原理、步骤以及相关的代码...

    自定义Dialog简单解决多级菜单多选问题

    在Android开发中,自定义Dialog是一种常见的用户交互方式,它能提供更为丰富的界面展示和定制化功能。在处理多级菜单多选问题时,传统的做法可能会导致代码复杂度增加,逻辑难以维护。本文将深入探讨如何通过自定义...

    qml 用item自定义dialog 对话框

    本文将深入探讨如何使用QML中的`Item`来创建一个自定义的`Dialog`组件。 首先,了解`Dialog`的基本概念。在Qt Quick中,`Dialog`是一个用于展示临时信息或进行用户交互的窗口,通常会有一个确定的关闭机制,如点击...

    Android利用建造者模式自定义Dialog

    在Android开发中,面对应用程序界面的多样化和个性化需求,自定义Dialog是一种常见的解决方案。建造者模式,作为一种设计模式,能够帮助我们优雅地构建复杂对象,它将对象的创建过程逐步分解,使得创建过程更加灵活...

    自定义dialog实现登录框

    在Android开发中,自定义Dialog是一种常见的用户界面(UI)设计技术,用于提供与用户交互的弹出式窗口。通常,我们使用Dialog来显示重要的信息、提示或进行简单的操作,如登录、注册等。本教程将详细介绍如何在...

    自定义Dialog加ListView

    在本项目中,“自定义Dialog加ListView”就是将`Dialog`与`ListView`结合,创建一个可以展示列表数据的弹出窗口,以提供更加丰富的用户交互体验。 首先,我们需要理解`Dialog`的基本用法。在Android中,我们可以...

    自定义Dialog背景

    在Android开发中,自定义Dialog背景是一个常见的需求,它能够帮助开发者实现更加个性化和符合应用设计风格的对话框。本文将深入探讨如何实现这一功能,包括理解Dialog的基本原理、自定义布局以及修改Dialog的背景。 ...

Global site tag (gtag.js) - Google Analytics