博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AlertDialog(自定义对话框)示例
阅读量:4971 次
发布时间:2019-06-12

本文共 3253 字,大约阅读时间需要 10 分钟。

一、定义一个与系统对话框不同的布局,然后调用setView()将布局inflater到alertDialog上:

二、效果图:

三、帖代码:

MainActivity

package com.Evan.demo_alertdialog;import android.app.Activity;import android.app.AlertDialog;import android.content.Intent;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {	private Button button;	private AlertDialog alert=null;	private AlertDialog.Builder builder=null;	private View view;		@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		button=(Button) findViewById(R.id.button1);		builder=new AlertDialog.Builder(MainActivity.this);				//加载自定义的View		final LayoutInflater inflater=MainActivity.this.getLayoutInflater();		view=inflater.inflate(R.layout.view_dialog_custom, null,false);	    builder.setView(view);		builder.setCancelable(false);	    alert=builder.create();	    view.findViewById(R.id.btn_close).setOnClickListener(new OnClickListener() {						@Override			public void onClick(View v) {				alert.dismiss();			}		});	    view.findViewById(R.id.btn_blog).setOnClickListener(new OnClickListener() {						@Override			public void onClick(View v) {				Intent intent=new Intent(MainActivity.this,MyActivity.class);				startActivity(intent);				alert.dismiss();			}		});	    view.findViewById(R.id.btn_cancle).setOnClickListener(new OnClickListener() {						@Override			public void onClick(View v) {				alert.dismiss();			}		});	    button.setOnClickListener(new OnClickListener() {						@Override			public void onClick(View v) {				alert.show();			}		});	}}
Myactivity:

package com.Evan.demo_alertdialog;import android.app.Activity;import android.os.Bundle;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.Toast;public class MyActivity extends Activity {	private static long ExitTime = 0;	private WebView webView;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		webView=new WebView(this);		webView.setWebViewClient(new WebViewClient(){			@Override			public boolean shouldOverrideUrlLoading(WebView view, String url) {				view.loadUrl(url);				return true;			}		});		webView.getSettings().setJavaScriptEnabled(true);//设置webView属性,运行JS脚本		webView.loadUrl("http://blog.csdn.net/xiangyong_1521");//连接		setContentView(webView);//显示	}	/*	 * 我们需要重写回退按钮的事件,当用户点击回退按钮判断	 * 1、webView.canGoBack()判断网页是否能后退,可以则goback()	 * 2、如果不可以,点击两次退出APP,弹出提示Toast	 */	@Override	public void onBackPressed() {		if(webView.canGoBack()){			webView.goBack();		}else{			if(System.currentTimeMillis()-ExitTime>2000){				Toast.makeText(getApplicationContext(), "再按一次退出我的微博", 0).show();				ExitTime=System.currentTimeMillis();			}else{				super.onBackPressed();			}		}	}}
view_dialog_custom.xml:

btn_selctor_choose.xml:

btn_selctor_exit.xml:

转载于:https://www.cnblogs.com/xiangevan/p/10751729.html

你可能感兴趣的文章
[转载]java开发中的23种设计模式
查看>>
表格的拖拽功能
查看>>
函数的形参和实参
查看>>
【TP SRM 703 div2 500】 GCDGraph
查看>>
webdriver api
查看>>
apache 实现图标缓存客户端
查看>>
揭秘:黑客必备的Kali Linux是什么,有哪些弊端?
查看>>
linux系统的远程控制方法——学神IT教育
查看>>
springboot+mybatis报错Invalid bound statement (not found)
查看>>
Linux环境下SolrCloud集群环境搭建关键步骤
查看>>
P3565 [POI2014]HOT-Hotels
查看>>
MongoDB的简单使用
查看>>
prometheus配置
查看>>
【noip2004】虫食算——剪枝DFS
查看>>
python 多进程和多线程的区别
查看>>
sigar
查看>>
iOS7自定义statusbar和navigationbar的若干问题
查看>>
[Locked] Wiggle Sort
查看>>
deque
查看>>
c#中从string数组转换到int数组
查看>>