android 几种对话框的简单实现
2016-05-26 12:35
295 查看
item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入"/> <Button android:id="@+id/bt1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="确定1"/> </LinearLayout>
MainActivity.java
import android.content.DialogInterface; import android.support.v7.app.ActionBar; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** * 普通对话框 * * @param view */ public void show1(View view) { final AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setIcon(R.mipmap.ic_launcher); builder.setTitle("对话框"); builder.setMessage("内容"); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_LONG).show(); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "取消", Toast.LENGTH_LONG).show(); } }); builder.show(); } /** * 单选对话框 * * @param view */ public void show2(View view) { final String single_item[] = {"男", "女", "大一", "大二"}; final AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setIcon(R.mipmap.ic_launcher); builder.setTitle("对话框"); builder.setSingleChoiceItems(single_item, 1, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "" + single_item[which], Toast.LENGTH_LONG).show(); } }); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "退出", Toast.LENGTH_LONG).show(); dialog.dismiss(); } }); builder.create().show(); } /** * 多选对话框 * * @param view */ public void show3(View view) { final String single_item[] = {"男", "女", "大一", "大二"}; final AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setIcon(R.mipmap.ic_launcher); builder.setTitle("对话框"); builder.setMultiChoiceItems(single_item, null , new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { if (isChecked) { Toast.makeText(MainActivity.this, "" + single_item[which], Toast.LENGTH_LONG).show(); } } }); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "退出", Toast.LENGTH_LONG).show(); dialog.dismiss(); } }); builder.create().show(); } /** * 自定义对话框 * * @param view */ public void show4(View view) { final String single_item[] = {"男", "女", "大一", "大二"}; final AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setIcon(R.mipmap.ic_launcher); builder.setTitle("对话框"); //把布局加载view View view1 = LayoutInflater.from(MainActivity.this).inflate(R.layout.item, null); builder.setView(view1); Button button = (Button) view1.findViewById(R.id.bt1); final AlertDialog dialog = builder.create(); dialog.show(); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "退出", Toast.LENGTH_LONG).show(); dialog.dismiss(); } }); } }
运行结果就不给了,自己运行下就行了
本人刚刚学安卓,有错误不要喷相关文章推荐
- 【android】: something cannot be resolved to a type
- 得到一段字符串指定字符出现的数次
- AndroidMainfest.xml详解
- Android获取手机IP地址
- BitMap二次采样
- android view 原理 -- measure 分析与应用
- Android命令行播放MP3音乐
- android 修改图片的宽高
- Activity生命周期
- android6.0系统缺少com.android.internal.policy.PolicyManager导致无法获取LayoutInflater实例问题
- Android绘制炫酷引导界面
- Android开发之Shape和Selector、Layer-list的详解
- 定义定制动画
- java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support4/content/ContextCompat;
- Android Service最全面的解析
- Android基础开发小案例之短信发送器
- Android触摸事件分发机制
- (4.1.1.3)Android 的上下文菜单: ContextMenu的使用方法以及与OptionMenu的区别
- Android登陆注册
- android studio 工程中跟包名packageName相关的几个地方