这是很简单的一个Dialog, 先上一张效果图。
实现起来也比较简单,直接上代码吧
MyDialog.class
package com.mythmayor.test;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
/**
* Created by mythmayor on 2017/6/8.
*/
public class MyDialog extends Dialog {
private onNoOnclickListener noOnclickListener;
private onYesOnclickListener yesOnclickListener;
private TextView tvYes;
private TextView tvNo;
public MyDialog(Context context) {
super(context, R.style.style_my_dialog);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_my);
setCanceledOnTouchOutside(true);
/** 初始化控件 */
initView();
/** 处理用户输入 */
handleUserInput();
}
private void initView() {
tvYes = (TextView) findViewById(R.id.tv_yes);
tvNo = (TextView) findViewById(R.id.tv_no);
}
private void handleUserInput() {
tvYes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (yesOnclickListener != null) {
yesOnclickListener.onYesClick();
}
}
});
tvNo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (noOnclickListener != null) {
noOnclickListener.onNoClick();
}
}
});
}
/**
* 设置取消按钮的显示内容和监听
*
* @param onNoOnclickListener
*/
public void setNoOnclickListener(onNoOnclickListener onNoOnclickListener) {
this.noOnclickListener = onNoOnclickListener;
}
/**
* 设置确定按钮的显示内容和监听
*
* @param onYesOnclickListener
*/
public void setYesOnclickListener(onYesOnclickListener onYesOnclickListener) {
this.yesOnclickListener = onYesOnclickListener;
}
/**
* 设置确定按钮和取消被点击的接口
*/
public interface onYesOnclickListener {
void onYesClick();
}
public interface onNoOnclickListener {
void onNoClick();
}
}
布局文件如下:dialog_my.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="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_dialog_top"
android:padding="10dp"
android:text="提示"
android:textColor="@color/color_white"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/color_white"
android:paddingLeft="30dp"
android:paddingRight="30dp"
android:paddingTop="15dp"
android:text="欢迎访问我的CSDN博客: \nmythmayor的博客"
android:textColor="@color/color_333333" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/color_white"
android:paddingBottom="15dp"
android:paddingLeft="30dp"
android:paddingRight="30dp"
android:paddingTop="12dp"
android:text="立即关注请点击确认"
android:textColor="@color/color_333333" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_no"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/bg_dialog_bottom1"
android:gravity="center"
android:padding="12dp"
android:text="取消"
android:textColor="@color/color_2396F7" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@color/color_white" />
<TextView
android:id="@+id/tv_yes"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/bg_dialog_bottom2"
android:gravity="center"
android:padding="12dp"
android:text="确认"
android:textColor="@color/color_2396F7" />
</LinearLayout>
</LinearLayout>
最后附上源码:
点击进入下载源码界面