Android

来源:互联网 发布:python count函数 编辑:程序博客网 时间:2024/06/05 15:21

这是很简单的一个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>

最后附上源码:

点击进入下载源码界面