您的位置:首页 > 产品设计 > UI/UE

使用AlertDialog.Builder自定义对话框

2013-12-04 19:15 537 查看
android自定义对话框

说到对话框你肯定会想到AlertDialog.Builder。当然这次不是用AlertDialog.Builder来实现的!而是Dialog类

AlertDialog.Builder提供的方法有:

setTitle():给对话框设置title.

setIcon():给对话框设置图标。

setMessage():设置对话框的提示信息

setItems():设置对话框要显示的一个list,一般用于要显示几个命令时

setSingleChoiceItems():设置对话框显示一个单选的List

setMultiChoiceItems():用来设置对话框显示一系列的复选框。

setPositiveButton():给对话框添加”Yes”按钮。

setNegativeButton():给对话框添加”No”按钮。

那么在Dialog类怎样实现的呢?当然是layout啦,你可以自定义一个xml来布置你对话框

看看例子和源码吧

package com.hl;

import android.app.Activity;

import android.app.Dialog;

import android.content.Context;

import android.os.Bundle;

import android.view.Gravity;

import android.view.View;

import android.view.Window;

import android.view.WindowManager;

import android.widget.Button;

public class MyDialog extends Activity implements android.view.View.OnClickListener {

 Button btn1=null;

    Button btn2=null;

    Button btn3=null;

 @Override

  public void onCreate(Bundle savedInstanceState) {

         super.onCreate(savedInstanceState);

         setContentView(R.layout.main);

         btn1=(Button)findViewById(R.id.b1);

         btn2=(Button)findViewById(R.id.b2);

         btn3=(Button)findViewById(R.id.b3);

         btn1.setOnClickListener(this);

         btn2.setOnClickListener(this);

         btn3.setOnClickListener(this);

     }

 @Override

 public void onClick(View v) {

  switch(v.getId()){

        case R.id.b1:

            break;

        case R.id.b2:

        case R.id.b3:

            new MyDialogs(this).setDisplay();

            break;

        default:

  

 }

}

class MyDialogs extends Dialog implements android.view.View.OnClickListener{

 private Button b1;

    private Window window=null;

   

    public MyDialogs(Context context){

        super(context);

    }

    public void setDisplay(){

     setContentView(R.layout.dialog);//设置对话框的布局

     b1=(Button)findViewById(R.id.clo);

     b1.setOnClickListener(this);

     setProperty();

        setTitle("自定义对话框");//设定对话框的标题

        show();//显示对话框  

    }

     //要显示这个对话框,只要创建该类对象.然后调用该函数即可.

    public void setProperty(){

         window=getWindow();//   得到对话框的窗口.

         WindowManager.LayoutParams wl = window.getAttributes();

         wl.x =0;//这两句设置了对话框的位置.0为中间

         wl.y =180;

         wl.alpha=0.6f;//这句设置了对话框的透明度

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: