Android 自定义Dialog的多种样式
来源:互联网 发布:小米盒子 端口转发 编辑:程序博客网 时间:2024/06/06 01:14
MainActivity
package cn.bgs.alldialog;
import java.util.Calendar;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.TimePickerDialog;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener, android.content.DialogInterface.OnClickListener {
private Button mBtn_alert,mBtn_zdy,mBtn_time,mBtn_date,mBtn_jump;
private AlertDialog dialog;
private MyDialog my;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
mBtn_alert=(Button) findViewById(R.id.mBtn_alert);
mBtn_zdy=(Button) findViewById(R.id.mBtn_zdy);
mBtn_time=(Button) findViewById(R.id.mBtn_time);
mBtn_date=(Button) findViewById(R.id.mBtn_date);
mBtn_jump=(Button) findViewById(R.id.mBtn_jump);
mBtn_alert.setOnClickListener(this);
mBtn_zdy.setOnClickListener(this);
mBtn_time.setOnClickListener(this);
mBtn_date.setOnClickListener(this);
mBtn_jump.setOnClickListener(this);
}
@Override
public void onClick(View v) {
int id=v.getId();
switch (id) {
case R.id.mBtn_alert:
AlertDialog.Builder alert=new AlertDialog.Builder(MainActivity.this);
alert.setTitle("退出");
alert.setMessage("确定退出此程序?");
alert.setPositiveButton("退出", this);
alert.setNegativeButton("取消", this);
dialog=alert.create();
dialog.show();
break;
case R.id.mBtn_zdy:
my=new MyDialog(this);
my.addActivity(this);
my.show();
break;
case R.id.mBtn_time:
long time=System.currentTimeMillis();
Calendar calendar=Calendar.getInstance();
calendar.setTimeInMillis(time);
TimePickerDialog timePickerDialog=new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Toast.makeText(MainActivity.this, ""+hourOfDay+"时"+minute+"分", 0).show();
}
}, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), true);
timePickerDialog.show();
break;
case R.id.mBtn_date:
long time1=System.currentTimeMillis();
Calendar calendar2=Calendar.getInstance();
calendar2.setTimeInMillis(time1);
DatePickerDialog datePickerDialog=new DatePickerDialog(MainActivity.this, new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
Toast.makeText(MainActivity.this, year+"年"+(monthOfYear+1)+"月"+dayOfMonth+"日", 0).show();
}
}, calendar2.get(Calendar.YEAR), calendar2.get(Calendar.MONTH), calendar2.get(Calendar.DAY_OF_MONTH));
datePickerDialog.show();
break;
case R.id.mBtn_jump:
Intent intent=new Intent(MainActivity.this, MainActivity_b.class);
startActivity(intent);
break;
default:
break;
}
}
@Override
public void onClick(DialogInterface dialog, int which) {
if (which==-1) {
finish();
}
}
}
MainActivity_b.class
package cn.bgs.alldialog;
import android.app.Activity;
import android.os.Bundle;
public class MainActivity_b extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_b);
}
}
MyDialog.class
package cn.bgs.alldialog;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MyDialog extends AlertDialog implements android.view.View.OnClickListener {
private Button mBtn_no,mBtn_yes;
private Activity activity;
protected MyDialog(Context context) {
super(context);
setCanceledOnTouchOutside(true);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_zdy);
mBtn_yes=(Button) findViewById(R.id.mBtn_yes);
mBtn_no=(Button) findViewById(R.id.mBtn_no);
mBtn_yes.setOnClickListener(this);
mBtn_no.setOnClickListener(this);
}
public void addActivity(Activity act){
this.activity=act;
}
@Override
public void onClick(View v) {
int id=v.getId();
switch (id) {
case R.id.mBtn_yes:
dismiss();
activity.finish();
break;
case R.id.mBtn_no:
dismiss();
break;
default:
break;
}
}
}
XML
activity_main
<LinearLayout 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=".MainActivity"
android:orientation="vertical">
<Button
android:id="@+id/mBtn_alert"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="退出"
/>
<Button
android:id="@+id/mBtn_zdy"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="自定义退出"
/>
<Button
android:id="@+id/mBtn_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="时间"
/>
<Button
android:id="@+id/mBtn_date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="日期"
/>
<Button
android:id="@+id/mBtn_jump"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="跳转"
/>
</LinearLayout>
activity_b.XML
<?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" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/bkhm"
/>
</LinearLayout>
dialog_zdy.XML
<?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" >
<RelativeLayout
android:layout_width="260dp"
android:layout_height="200dp"
android:layout_gravity="center"
>
<ImageView
android:id="@+id/mImg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@drawable/bg"
/>
<Button
android:id="@+id/mBtn_no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="取消"
android:layout_alignParentBottom="true"
android:layout_marginLeft="50dp"
/>
<Button
android:id="@+id/mBtn_yes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="确定"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginRight="50dp"
/>
</RelativeLayout>
</LinearLayout>
- Android 自定义Dialog的多种样式
- Android-自定义Dialog样式
- Android 自定义Dialog样式
- Android dialog自定义样式
- Android自定义Dialog样式
- Android 自定义Dialog样式
- android自定义dialog样式
- android-自定义Dialog样式
- android自定义Dialog样式
- 【Android】自定义dialog的布局样式
- Android dialog自定义样式的弹窗
- 自定义dialog的样式
- Android中自定义Dialog样式
- Android简单自定义Dialog样式
- Android自定义样式对话框Dialog
- Android中自定义Dialog样式
- Android多种方式实现自定义Dialog对话框
- Android多种方式实现自定义Dialog对话框
- 解除Linux最大进程数和最大文件句柄打开数限制
- 51nod 1832 先序遍历与后序遍历(DFS)
- 深入理解直方图
- 虚表指针初始化
- 多线程学习步骤
- Android 自定义Dialog的多种样式
- 【2013南京现场赛】1003 hdu4804 Campus Design 插头dp
- Lustre元数据备份
- 百日百题-基础数学1
- php 去掉字符串的最后一个字符
- cookie简单介绍
- java清空文件的内容
- JDBC访问数据库
- Tensorflow四种Cross Entropy