Dialog(一)——对话框(Dialog)基本使用

简介: MainActivity如下:import android.os.Bundle;import android.view.View;import android.
MainActivity如下:
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
import android.app.Activity;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.content.DialogInterface;
public class MainActivity extends Activity {
    private Button mToastButton;
    private Button mAlertDialogButton;
    private Dialog mDialog;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		init();
	}
    private void init(){
    	mToastButton=(Button) findViewById(R.id.toastButton);
    	mToastButton.setOnClickListener(new ButtonOnClickListenerImpl());
    	mAlertDialogButton=(Button) findViewById(R.id.alertDialogButton);
    	mAlertDialogButton.setOnClickListener(new ButtonOnClickListenerImpl());
    }

	private class ButtonOnClickListenerImpl implements OnClickListener {
		@Override
		public void onClick(View view) {
			switch (view.getId()) {
			case R.id.toastButton:
                Toast.makeText(MainActivity.this, getResources().getString(R.string.toast_info), Toast.LENGTH_LONG).show();
                break;
			case R.id.alertDialogButton:
                Builder builder=new Builder(MainActivity.this);
                builder.setIcon(R.drawable.ic_launcher);
                builder.setTitle(getResources().getString(R.string.dialog_title));
                builder.setMessage(R.string.dialog_message);
                builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
					@Override
					public void onClick(DialogInterface dialog, int arg1) {
						 Toast.makeText(MainActivity.this, getResources().getString(R.string.dialog_no), Toast.LENGTH_SHORT).show();
					}
				});
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
					@Override
					public void onClick(DialogInterface dialog, int arg1) {
						 Toast.makeText(MainActivity.this, getResources().getString(R.string.dialog_ok), Toast.LENGTH_SHORT).show();
					}
				});
                
                mDialog=builder.create();
                mDialog.show();
				break;
			default:
				break;
			}
		}

	}

}

main.xml如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    >

    <Button
        android:id="@+id/toastButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/toast_tip" 
        android:layout_marginTop="100dip"
        android:textSize="20sp"
     />
    
    <Button
        android:id="@+id/alertDialogButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_tip" 
        android:layout_marginTop="100dip"
        android:textSize="20sp"
     />

</LinearLayout>


相关文章
|
10月前
|
数据挖掘 BI
|
缓存 数据库
共享锁和排他锁的使用场景
【10月更文挑战第16天】共享锁和排他锁是多进程和多线程环境中常用的同步机制,它们在不同的场景下发挥着重要作用。选择合适的锁类型取决于并发需求、数据一致性要求、性能考虑和资源竞争等因素。在实际应用中,需要根据具体情况仔细评估和选择合适的锁策略,以确保系统的正确性和性能。
|
XML 人工智能 搜索推荐
Echarts实战案例代码(5):liquidFill水球组件利用svg path定制你自己的个性化图标动态图
Echarts实战案例代码(5):liquidFill水球组件利用svg path定制你自己的个性化图标动态图
941 0
|
消息中间件 存储 SQL
大数据面试吹牛草稿V2.0 (一)
面试吹牛之前先打个草稿!
351 0
|
2天前
|
数据采集 人工智能 安全
|
12天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1023 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1722 9