Android学习第十一天----AlertDialog_1
AlertDialog对话框应用一
项目需求:在主页面上显示一个button,点击button,跳出一个对话框,里面有图片,文字还有按钮可以选择;
xml中添加一个button
<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" tools:context=".MainActivity" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:layout_marginBottom="84dp" android:text="点我" /> </RelativeLayout>
在MainActivity中
package com.example.alertdialog_1; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { private AlertDialog.Builder mBuilder; private Button mButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mButton = (Button)findViewById(R.id.button1); mButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mBuilder = new AlertDialog.Builder(MainActivity.this); mBuilder.setTitle("请选择:"); mBuilder.setIcon(R.drawable.ic_launcher); mBuilder.setMessage("以下你喜欢的有"); mBuilder.setPositiveButton("确定", MainActivity.this); mBuilder.setNeutralButton("取消", MainActivity.this); mBuilder.setNegativeButton("退出", MainActivity.this); mBuilder.create(); mBuilder.show(); } }); } @Override public void onClick(DialogInterface dialog, int which) { switch (which) { case AlertDialog.BUTTON_NEGATIVE: Toast.makeText(MainActivity.this, "neg", Toast.LENGTH_SHORT).show(); break; case AlertDialog.BUTTON_NEUTRAL: Toast.makeText(MainActivity.this, "neu", Toast.LENGTH_SHORT).show(); break; case AlertDialog.BUTTON_POSITIVE: Toast.makeText(MainActivity.this, "pos", Toast.LENGTH_SHORT).show(); break; default: break; } } }
package com.example.alertdialog_1; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { private AlertDialog.Builder mBuilder; private Button mButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mButton = (Button)findViewById(R.id.button1); mButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mBuilder = new AlertDialog.Builder(MainActivity.this); mBuilder.setTitle("请选择:"); mBuilder.setIcon(R.drawable.ic_launcher); mBuilder.setMessage("以下你喜欢的有"); mBuilder.setPositiveButton("确定", MainActivity.this); mBuilder.setNeutralButton("取消", MainActivity.this); mBuilder.setNegativeButton("退出", MainActivity.this); mBuilder.create(); mBuilder.show(); } }); } @Override public void onClick(DialogInterface dialog, int which) { switch (which) { case AlertDialog.BUTTON_NEGATIVE: Toast.makeText(MainActivity.this, "neg", Toast.LENGTH_SHORT).show(); break; case AlertDialog.BUTTON_NEUTRAL: Toast.makeText(MainActivity.this, "neu", Toast.LENGTH_SHORT).show(); break; case AlertDialog.BUTTON_POSITIVE: Toast.makeText(MainActivity.this, "pos", Toast.LENGTH_SHORT).show(); break; default: break; } } }
mBuilder.setTitle();设置提示框的标题
mBuilder.setIcon();设置图片
mBuilder.setMessage("以下你喜欢的有");
mBuilder.setPositiveButton("确定", MainActivity.this); 设置一个正极的按钮,第一个是string,第二个是context
mBuilder.setNeutralButton("取消", MainActivity.this);设置一个中级的
mBuilder.setNegativeButton("退出", MainActivity.this);设置一个负极的按钮
其中对于button的监听,可以直接使用view.onCilckListener来设置监听。
因为button 的监听和AlertDialog的监听器是一样的,只是包名不同而已