`
longgangbai
  • 浏览: 7339582 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android自定义对话框的使用

 
阅读更多

 

 

 

 

 

 

package com.easyway.android.diaglog;


import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
/**
 * Android获取dialog自定义布局中的控件  中特定的对象比较特殊必须通过
 *  	//获取布局相关的对象
 *   	LayoutInflater inflater=LayoutInflater.from(this);
 *   	//获取相关的布局
 *   	View layout = inflater.inflate(R.layout.send_email_dialog, (ViewGroup) findViewById(R.id.send_email_dialog_ll))
 *      final EditText sendEmailCon_ET = (EditText) layout.findViewById(R.id.send_email_dialog_et);
 *
 *
 * @author longgangbai
 *
 */
public class CustomDiaglogActivity extends Activity {
    private final int CUSTOM_DIALOG = 1;   
	private Button diagbtn;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //设置当前的布局
        setContentView(R.layout.main);
        //获取按钮
        diagbtn=(Button)findViewById(R.id.btndiaglog);
        //设置按钮的事件
        View.OnClickListener dateBtnListener =   
            new BtnOnClickListener(CUSTOM_DIALOG);      
        diagbtn.setOnClickListener(dateBtnListener);   
    }
    /**
     * 重写Activity的方法实现相关的不同
     * 
     * 按钮的实现不同对话框
     * 	
     * 
     * 想要获取自定义布局中的控件必须调用你所定义的View的findViewById方法,而不能像获得其他控件一样直接调用findViewById方法。。。
     */
    @Override
    protected Dialog onCreateDialog(int id) {   
    	//自定义对话框
    	AlertDialog.Builder builder= new Builder(CustomDiaglogActivity.this);
    	//获取布局相关的对象
    	LayoutInflater inflater=LayoutInflater.from(this);
    	//获取相关的布局
    	View layout = inflater.inflate(R.layout.send_email_dialog, (ViewGroup) findViewById(R.id.send_email_dialog_ll)); 
    	//设置相关的视图
    	builder.setView(layout);
    	//设置标题
    	builder.setTitle("反馈意见");
    	//确定按钮的操作
    	builder.setPositiveButton("确认",new OnClickListener(){
    		    @Override
    		    public void onClick(DialogInterface dialog, int which) {
	    		    //销毁对话框
    		    	dialog.dismiss();
	    		    CustomDiaglogActivity.this.finish();
    		   }
    	});
    	//取消按钮的操作
    	builder.setNegativeButton("取消",new OnClickListener(){
		    @Override
		    public void onClick(DialogInterface dialog, int which) {
    		    dialog.dismiss();
		   }
	    });
    	return builder.create();
    }
    
    
    /**   
     * 成员内部类,此处为提高可重用性,也可以换成匿名内部类   
     */   
    private class BtnOnClickListener implements View.OnClickListener {      
        private int dialogId = 0;   //默认为0则不显示对话框      
        public BtnOnClickListener(int dialogId) {   
            this.dialogId = dialogId;   
        }   
        @Override   
        public void onClick(View view) {   
            showDialog(dialogId);   
        }      
    }   
}

 

 

send_mail_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/send_email_dialog_ll"
	android:orientation="vertical"
	android:layout_width="match_parent"
	android:layout_height="match_parent">
    <TextView
    	android:layout_width="wrap_content"
    	android:textAppearance="?android:attr/textAppearanceMedium"
    	android:layout_height="wrap_content"
    	android:text="To : longgangbai@sina.com"
    	android:layout_gravity="center"
    	android:layout_marginTop="4dp" />
    <EditText
    	android:id="@+id/send_email_dialog_et"
    	android:layout_height="wrap_content"
    	android:layout_width="fill_parent"
    	android:inputType="textMultiLine"
    	android:lines="4"
    	android:hint="@string/message"
    	android:scrollbarAlwaysDrawVerticalTrack="true"
    	android:layout_marginTop="9dp">
        <requestFocus></requestFocus>
    </EditText>
</LinearLayout>

 

 

 

分享到:
评论

相关推荐

    android自定义对话框、dialog

    总的来说,创建Android自定义对话框需要理解DialogFragment或AlertDialog.Builder的工作原理,以及如何将它们与自定义布局相结合。通过`defineDialog`这样的示例,开发者可以学习到如何从头开始构建一个具有特定功能...

    Android例子源码自定义对话框

    在Android开发中,自定义对话框(Dialog)是常见的需求,它可以为用户提供更丰富的交互体验。自定义对话框可以按照应用程序的设计风格进行定制,包括布局、颜色、按钮样式等,从而提升应用的用户体验。本篇将围绕...

    安卓Android源码——android 自定义对话框.rar

    本资源“安卓Android源码——android 自定义对话框.rar”显然包含了关于如何在Android平台上创建和定制对话框的源代码示例。通过这个压缩包,我们可以学习到如何摆脱系统默认样式,设计出更符合应用风格的对话框。 ...

    Android应用源码之android 自定义对话框.zip

    在Android开发中,自定义对话框(Custom Dialog)是一个重要的组件,它允许开发者根据应用程序的UI风格和功能需求创建独特且交互性强的弹出界面。本压缩包中的资源提供了关于如何在Android应用中实现自定义对话框的...

    Android自定义对话框(代码)

    在Android开发中,自定义对话框(Custom Dialog)是一种常用的技术,它允许开发者根据应用的UI风格和功能需求创建个性化的对话框。本教程将详细讲解如何在Android中实现自定义对话框,并提供代码示例。 一、Android...

    android 自定义对话框

    以上就是关于Android自定义对话框的一些关键知识点。通过熟练掌握这些技巧,开发者可以创建出更加美观、易用的对话框,提升用户体验。在实际项目中,可以根据需求灵活运用,打造出满足各种场景的自定义对话框。

    Android自定义对话框Dialog(界面美化)

    总之,Android自定义对话框Dialog的界面美化是一个涉及布局设计、样式定制、事件处理等多个方面的过程。通过深入理解并实践这些技术,开发者可以创造出更具吸引力和个性化的Dialog,从而提高用户对应用的满意度。

    Android自定义对话框实现QQ退出界面

    在Android开发中,自定义对话框...通过以上步骤,我们成功地实现了Android自定义对话框,模拟了QQ退出界面的效果。在实际应用中,可以根据项目需求对这个对话框进行进一步的定制和优化,以提供更加个性化的用户体验。

    Android中自定义对话框的实现

    在Android开发中,自定义对话框(Custom Dialog)是一种常见的用户界面组件,它允许开发者根据应用的风格和需求创建独特的提示或交互界面。本篇将深入探讨如何在Android中实现自定义对话框,并通过示例代码`MyDialog...

    Android自定义对话框

    一般自定义对话框有三种办法: 1、重写Dialog来实现。 2、获取Dialog的Window对象实现。 3、使用WindowManager来实现。 4、使用DialogTheme来实现。 详细请看:...

    Android编程实现在自定义对话框中获取EditText中数据的方法

    本文实例讲述了Android编程实现在自定义对话框中获取EditText中数据的方法。分享给大家供大家参考,具体如下: 在项目中忽然遇到这样的问题,需要自定义对话框,对话框需要有一个输入框,以便修改所选中的价格,然后...

    android 自定义对话框.zip源码资源下载

    总结,Android自定义对话框涉及到的知识点包括Android UI设计、样式和主题的使用、事件处理、类的继承与重写以及可能的第三方库集成。通过这个源码资源,开发者可以学习到如何构建一个功能完整、样式独特的对话框,...

    android自定义对话框加动画

    在Android开发中,自定义对话框...综上所述,Android自定义对话框结合动画的应用不仅能够丰富用户体验,还能增强应用的美观度。通过合理的布局设计和动画设置,开发者可以创造出功能强大且具有吸引力的对话框组件。

    自定义对话框

    本文将深入探讨如何在Android中创建和使用自定义对话框。 首先,我们从基础开始。在Android中,对话框通常通过`AlertDialog.Builder`类创建。然而,当系统提供的默认样式不能满足需求时,开发者可以选择自定义...

    Android系统对话框和自定义对话框实现

    本教程将深入讲解如何在Android系统中创建和使用标准对话框以及自定义对话框。 首先,Android系统提供了几种内置的对话框类型,包括AlertDialog、ProgressDialog、DatePickerDialog、TimePickerDialog等。这些...

    android 自定义对话框+捕捉返回和菜单键

    在Android开发中,自定义对话框(Custom Dialog)是一种常用的设计模式,用于向用户展示一些重要信息或进行关键操作的确认。本项目着重探讨如何创建一个自定义对话框,并实现对返回键和菜单键的监听功能,以提供更加...

    安卓Android源码——android 自定义对话框.zip

    本资源"安卓Android源码——android 自定义对话框.zip"包含了实现自定义对话框的源代码,这对于理解和实践Android应用的界面定制具有重要意义。 首先,我们要理解Android系统提供的默认对话框类`AlertDialog`和`...

    Android自定义加载对话框

    标题"Android自定义加载对话框"所涉及的核心知识点包括: 1. 创建自定义布局:首先,我们需要在res/layout目录下创建一个新的XML布局文件,比如叫做`custom_progress_dialog.xml`。在这个布局文件中,我们可以添加...

    自定义对话框实例,实现

    在Android中,实现自定义对话框通常包括以下几个步骤: 1. 创建布局文件:在`res/layout`目录下创建一个新的XML文件,定义你想要的对话框布局。可以包括TextView、EditText、ImageView、Button等视图,并通过设置...

Global site tag (gtag.js) - Google Analytics