Anroid对话框——AlertActivity对话框 PopWindow弹出对话框
<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!--圆角-->
<corners android:radius="9dp"/>
<!--渐变
<gradient android:angle="45"
android:startColor="@color/colorPrimary"
android:endColor="#5555"/>-->
<!--填充-->
<solid android:color="#1df905"/>
<!--大小-->
<size android:height="50dp"
android:width="100dp"/>
<!--描边-->
<stroke android:color="#f90505"
android:width="1dp"/>
</shape>
1.对话框
2.单选对话框
3.多选对话框
4.自定义对话框
package com.example.jreduch01;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
public class AlertActivity extends AppCompatActivity {
private Button bt5;
private Button bt6;
private Button bt7;
private Button bt8;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alert);
bt5=(Button)findViewById(R.id.bt5);
bt8=(Button)findViewById(R.id.bt8);
bt5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder=new AlertDialog.Builder(AlertActivity.this);
builder.setTitle("提示");
builder.setIcon(R.mipmap.ic_launcher);
builder.setMessage("确定。。。。了吗?");
//setPositiveButton积极按钮
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(AlertActivity.this, "点击了确定", Toast.LENGTH_SHORT).show();
}
});
//setNegativeButton消极的
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(AlertActivity.this, "点击了取消", Toast.LENGTH_SHORT).show();
}
});
builder.setCancelable(false);
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
});
bt6=(Button)findViewById(R.id.bt6);
bt6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder=new AlertDialog.Builder(AlertActivity.this);
builder.setTitle("请选择");
builder.setIcon(R.mipmap.ic_launcher);
final String[] items={"北京","上海","烟台"};
// builder.setMultiChoiceItems()多选
builder.setSingleChoiceItems(items, 1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
Toast.makeText(getBaseContext(), items[i].toString(), Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
builder.setCancelable(false);
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
});
bt7=(Button)findViewById(R.id.bt7);
bt7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder=new AlertDialog.Builder(AlertActivity.this);
builder.setTitle("请选择多选");
builder.setIcon(R.mipmap.ic_launcher);
final String[] items={"北京","上海","烟台","广州"};
//final数据不丢失
final boolean[] choice={true,true,false,false};
final boolean[] itemChoice=new boolean[items.length];
itemChoice[0]=true;
itemChoice[1]=true;
builder.setMultiChoiceItems(items,choice, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (isChecked) {
Toast.makeText(getBaseContext(), items[which].toString(), Toast.LENGTH_SHORT).show();
itemChoice[which] = true;
}else {
itemChoice[which] = false;
}
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String str="";
for(int ch=0;ch<items.length;ch++){
str += (itemChoice[ch]==true)?items[ch]:"";
}
Toast.makeText(getBaseContext(), str, Toast.LENGTH_SHORT).show();
dialog.dismiss();
//取消对话框
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
});
bt8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
View view=getLayoutInflater().inflate(R.layout.toast_layout,null);
ImageView iv=(ImageView) view.findViewById(R.id.tu1);
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(AlertActivity.this,"你点击了图片",Toast.LENGTH_SHORT).show();
}
});
AlertDialog.Builder builder=new AlertDialog.Builder(AlertActivity.this);
builder.setView(view);
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
});
}
}
<?xml version="1.0" encoding="utf-8"?>
<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.jreduch01.AlertActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bt5"
android:textSize="30dp"
android:text="对话框"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bt6"
android:layout_below="@+id/bt5"
android:textSize="30dp"
android:text="请选择单选"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bt7"
android:layout_below="@+id/bt6"
android:textSize="30dp"
android:text="请选择多选"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bt8"
android:layout_below="@+id/bt7"
android:textSize="30dp"
android:text="自定义对话框"
/>
</RelativeLayout>
2. PopWindow弹出对话框
1.
package com.example.jreduch01;
import android.graphics.drawable.ColorDrawable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.PopupWindow;
public class PopWindowActivity extends AppCompatActivity {
private Button bt1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pop_window);
bt1=(Button) findViewById(R.id.bt1);
View view=getLayoutInflater().inflate(R.layout.toast_layout,null);
final PopupWindow pw=new PopupWindow(view);
pw.setFocusable(true);
ColorDrawable cd=new ColorDrawable();
pw.setBackgroundDrawable(cd);
pw.setAnimationStyle(R.style.pop);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
pw.setWidth(view.getWidth());
int height=getResources().getDisplayMetrics().heightPixels/3;
pw.setHeight(height);
// pw.showAsDropDown(view,0,0);在Butten下方出现
pw.showAtLocation(view,Gravity.CENTER,0,0);//中间显示
// pw.showAtLocation(view,Gravity.TOP|Gravity.RIGHT,0,220);右上角显示
}
});
}
}
2.
<?xml version="1.0" encoding="utf-8"?>
<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.jreduch01.PopWindowActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bt1"
android:text="popwindow"
/>
</RelativeLayout>
<?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"
android:background="#313131"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv1"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@mipmap/zyfzyf"
android:layout_weight="1"
android:layout_marginTop="10dp"
/>
<ImageView
android:id="@+id/iv2"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@mipmap/zyfzyf"
android:layout_weight="1"
android:layout_marginTop="10dp"
/>
<ImageView
android:id="@+id/iv3"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@mipmap/zyfzyf"
android:layout_weight="1"
android:layout_marginTop="10dp"
/>
</LinearLayout>
<TextView
android:id="@+id/it1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="更多登录方式"
android:textColor="#fff"
android:gravity="center"
android:textSize="18sp"
android:layout_weight="1"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1"
>
<ImageView
android:id="@+id/iv4"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center|left"
android:src="@mipmap/zyfzyf"
android:layout_marginLeft="30dp"
/>
<TextView
android:id="@+id/tv5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#fff"
android:text="搜索"
android:layout_gravity="center|left"
android:layout_marginLeft="30dp"
android:textSize="20sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1"
>
<ImageView
android:id="@+id/iv5"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center|left"
android:src="@mipmap/zyfzyf"
android:layout_marginLeft="30dp"
/>
<TextView
android:id="@+id/tv6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#fff"
android:text="收藏"
android:layout_gravity="center|left"
android:layout_marginLeft="30dp"
android:textSize="20sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1"
>
<ImageView
android:id="@+id/iv6"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center|left"
android:src="@mipmap/zyfzyf"
android:layout_marginLeft="30dp"
/>
<TextView
android:id="@+id/tv7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#fff"
android:text="通知"
android:layout_gravity="center|left"
android:layout_marginLeft="30dp"
android:textSize="20sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1"
>
<ImageView
android:id="@+id/iv7"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center|left"
android:src="@mipmap/zyfzyf"
android:layout_marginLeft="30dp"
/>
<TextView
android:id="@+id/tv8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#fff"
android:text="活动"
android:layout_gravity="center|left"
android:layout_marginLeft="30dp"
android:textSize="20sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1"
>
<ImageView
android:id="@+id/iv8"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center|left"
android:src="@mipmap/zyfzyf"
android:layout_marginLeft="30dp"
/>
<TextView
android:id="@+id/tv9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#fff"
android:text="设置"
android:layout_gravity="center|left"
android:layout_marginLeft="30dp"
android:textSize="20sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv10"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@mipmap/zyfzyf"
android:layout_weight="1"
android:layout_marginTop="10dp"
/>
<ImageView
android:id="@+id/iv11"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@mipmap/zyfzyf"
android:layout_weight="1"
android:layout_marginTop="10dp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/tv10"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="离线"
android:textSize="16sp"
android:textColor="#fff"
android:layout_weight="1"
android:gravity="center"
/>
<TextView
android:id="@+id/tv11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="离线"
android:textSize="16sp"
android:textColor="#fff"
android:layout_weight="1"
android:gravity="center"
/>
</LinearLayout>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<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:background="#3a40df"
tools:context="com.example.jreduch01.QqActivity">
<LinearLayout
android:layout_marginTop="100dp"
android:layout_marginRight="20dp"
android:layout_marginLeft="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#f9f5f5"
android:id="@+id/ll0"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:orientation="horizontal"
>
<ImageView
android:layout_marginLeft="20dp"
android:layout_width="100dp"
android:layout_height="100dp"
android:id="@+id/tu1"
android:src="@mipmap/qq"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<EditText
android:layout_width="200dp"
android:layout_height="50dp"
android:id="@+id/et"
android:text="账号:输入账号"
android:layout_below="@+id/tv"
/>
<EditText
android:layout_width="200dp"
android:layout_height="50dp"
android:id="@+id/et_pwd"
android:text="密码:输入密码"
android:layout_below="@+id/et"
/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<CheckBox
android:layout_marginLeft="20dp"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginRight="50dp"
android:id="@+id/ch1"
android:text="记住密码"
android:checked="true"
android:textSize="25dp"
/>
<Button
android:layout_width="100dp"
android:layout_height="wrap_content"
android:id="@+id/bt1"
android:text="登陆"
/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_below="@+id/ll0"
android:layout_marginTop="50dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ch2"
android:text="隐身登录"
android:textSize="25sp"
android:checked="true"
android:textColor="#fcfafa"
android:layout_weight="1"
/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ch3"
android:text="开启震动"
android:textColor="#fcfafa"
android:checked="true"
android:textSize="25sp"
android:layout_weight="1"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="20dp"
>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ch4"
android:text="接受群消息"
android:textSize="25sp"
android:textColor="#fcfafa"
android:layout_weight="1"
/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ch5"
android:text="静音登陆"
android:checked="true"
android:textSize="25sp"
android:textColor="#fcfafa"
android:layout_weight="1"
/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
作者:冲天之峰 20160727