Android Dialog和pPopuwindow
来源:互联网 发布:爱丽小屋淘宝官方旗舰 编辑:程序博客网 时间:2024/06/06 05:56
一丶对话框的介绍
对话框的方式分为两种
一种是Dialog对话框是 阻塞
用于必须操作的选项,如果不进行操作,就不能进行下一步
另外一种是popuwindow是 非阻
如果有选项的提示,简单的来说可以先不去执行,如果不执行对话框,你执行其他的,对话框也会消失
Dialog对话框
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"
tools:context="com.example.dialog_demo.MainActivity" >
<Button
android:id="@+id/mBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
主运行界面
package com.example.dialog_demo;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity implements android.view.View.OnClickListener{
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity implements android.view.View.OnClickListener{
/* @setIcon 设置对话框图标
* @setTitle 设置对话框标题
* @setMessage 设置对话框消息提示
* setXXX方法返回Dialog对象,因此可以链式设置属性
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBtn=(Button) findViewById(R.id.mBtn);
mBtn.setOnClickListener(this);
}
protected void dialog() {
AlertDialog.Builder builder = new Builder(MainActivity.this);
builder.setMessage("确认退出吗?");//设置通知的消息
builder.setTitle("提示");//设置标题
builder.setPositiveButton("确认", new OnClickListener() {//选项确定的按钮,点击确定执行的操作
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();//结束对话框
MainActivity.this.finish();//点击的话关闭这个程序
}
});
builder.setNegativeButton("取消", new OnClickListener() {//选项取消的按钮,点击取消退出对话框
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();//结束对话框
}
});
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();//结束对话框
}
});
builder.create().show();//显示对话框
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dialog();
}
}
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dialog();
}
}
Popuwindow对话框
activity 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.popuwindow_demo.MainActivity" >
<Button
android:id="@+id/mBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
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.popuwindow_demo.MainActivity" >
<Button
android:id="@+id/mBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
window布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/mTv"
android:layout_width="match_parent"
android:layout_height="30dp"
android:text="哈哈哈"
/>
<TextView
android:id="@+id/mTv1"
android:layout_width="match_parent"
android:layout_height="30dp"
android:text="哈哈哈"
/>
<TextView
android:id="@+id/mTv2"
android:layout_width="match_parent"
android:layout_height="30dp"
android:text="哈哈哈"
/>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/mTv"
android:layout_width="match_parent"
android:layout_height="30dp"
android:text="哈哈哈"
/>
<TextView
android:id="@+id/mTv1"
android:layout_width="match_parent"
android:layout_height="30dp"
android:text="哈哈哈"
/>
<TextView
android:id="@+id/mTv2"
android:layout_width="match_parent"
android:layout_height="30dp"
android:text="哈哈哈"
/>
</LinearLayout>
运行主界面
package com.example.popuwindow_demo;
import android.support.v7.app.ActionBarActivity;
import android.annotation.SuppressLint;
import android.app.ActionBar.LayoutParams;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity {
private Button btn;
private TextView mTv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
btn = (Button) findViewById(R.id.mBtn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showPop();
}
});
}
public void showPop(){
//找到布局文件dialog
View pv = View.inflate(this, R.layout.window, null);
//找到相应的控件
mTv = (TextView) pv.findViewById(R.id.mTv);
final PopupWindow pop = new PopupWindow(pv,LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);
//点击空白处弹框聊天
pop.setOutsideTouchable(true);
pop.setBackgroundDrawable(new ColorDrawable(0x00000000));
//点击back键 弹框消失
pop.setFocusable(true);
mTv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "拍照", 0).show();
pop.dismiss();
}
});
pop.showAtLocation(pv, Gravity.BOTTOM, 0, 0);
}
}
import android.support.v7.app.ActionBarActivity;
import android.annotation.SuppressLint;
import android.app.ActionBar.LayoutParams;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity {
private Button btn;
private TextView mTv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
btn = (Button) findViewById(R.id.mBtn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showPop();
}
});
}
public void showPop(){
//找到布局文件dialog
View pv = View.inflate(this, R.layout.window, null);
//找到相应的控件
mTv = (TextView) pv.findViewById(R.id.mTv);
final PopupWindow pop = new PopupWindow(pv,LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);
//点击空白处弹框聊天
pop.setOutsideTouchable(true);
pop.setBackgroundDrawable(new ColorDrawable(0x00000000));
//点击back键 弹框消失
pop.setFocusable(true);
mTv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "拍照", 0).show();
pop.dismiss();
}
});
pop.showAtLocation(pv, Gravity.BOTTOM, 0, 0);
}
}
0 0
- Android Dialog和pPopuwindow
- android Dialog和EditText
- 自定义dialog和Android开发本身dialog
- android 自定义Dialog 和toast
- Android之AlertDialog和Dialog
- android弹窗dialog和AlertDialog
- Android之AlertDialog和Dialog
- Android对话框Dialog和DialogFragment
- android中 Dialog.dismiss()、Dialog.cancel()、和Dialog.hide()的相同点和区别
- 自定义Dialog android Dialog
- Android Dialog库内置Dialog以及各种动画.支持自定义Dialog和动画
- Android 对话框 之AlertDialog和Dialog
- android 自定义dialog弹出和消失动画
- android Dialog去掉标题栏 和边框
- android 对话框Dialog和AlertDialog应用
- android 自定义dialog弹出和消失动画
- android开发之Dialog和Toast
- Android的Dialog开发和运用
- 保存密码操作
- TP 中D()和M()方法的区别
- 利用 PCA来简化数据
- 题目1003:A+B
- 深入Java集合系列之四:ConcurrentHashMap
- Android Dialog和pPopuwindow
- Intellij IDEA中使用Mybatis-generator自动生成Mtbatis代码
- 关于从svn上新下载的项目往往报类找不到,而类又存在的错误问题
- 慕课网-初识Java微信公众号开发
- 题目1004:Median
- spring中bean的作用域属性single与prototype的区别
- 24点游戏
- QString截取分割字符串
- android 字体从左往右发光闪过