您的位置:首页 > 移动开发 > Android开发

Android之Dialog的基本使用

2015-12-22 09:29 621 查看
activity_mian.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:paddingBottom="@dimen/activity_vertical_margin"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  tools:context="com.example.demo_dialog.MainActivity" >

  <Button
    android:id="@+id/main_bt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="点我啊"/>

</RelativeLayout>


MainActivity.java

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {

  private Button bt;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    bt = (Button)findViewById(R.id.main_bt);
    bt.setOnClickListener(clickListener);
  }

  private View.OnClickListener clickListener = new View.OnClickListener() {

    @Override
    public void onClick(View v) {
      switch (v.getId()) {
        case R.id.main_bt:
          showDialog();
          break;
      }
    }
  };

  private void showDialog(){
    //创建对话框的构造器
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    // 设置图标
    builder.setIcon(R.drawable.ic_launcher);
    // 设置标题
    builder.setTitle("警告");
    // 设置消息
    builder.setMessage("这是一个消息");
    // 中间
    builder.setNeutralButton("ok", click);
    // 左边
    builder.setNegativeButton("pass", click);
    // 右边
    builder.setPositiveButton("content", click);
    

    // 创建dialog同时显示dialog
    // builder.show();

    // 可以调用builder.create(),只创建不显示
    AlertDialog dialog = builder.create();
    // 显示dialog
    builder.show();
  }

  private DialogInterface.OnClickListener click = new DialogInterface.OnClickListener() {

    // dialog参数一个Dialog触发的点击事件
    // which参数是Dialog中的第几项触发的点击事件
    @Override
    public void onClick(DialogInterface dialog, int which) {
      switch (which) {
        case DialogInterface.BUTTON_NEGATIVE://-1
          // pass
          break;
        case DialogInterface.BUTTON_POSITIVE://-2
          // content
          break;
        case DialogInterface.BUTTON_NEUTRAL://-3
          // ok
          break;
      }
    }
  };
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: