自定义的dialog  其中包含置顶 删除 和取消

下面的是BaseDialog

package com.free.csdn.view.dialog;

import android.app.Dialog;
import android.content.Context;

/**
*
* @author tangqi
* @data 2015年8月8日下午4:26:32
*/

public class BaseDialog extends Dialog {

public BaseDialog(Context context) {
super(context);
}

public BaseDialog(Context context, int theme) {
super(context, theme);
}

/**
* 监听确定
*/
public abstract interface OnConfirmListener {// 抽象的方法 
public abstract void onConfirm(String result);
}

/**
* 监听取消
*/
public abstract interface OnCancleListener {

public abstract void onCancle(String result);
}

/**
* 监听删除
*/
public abstract interface OnDeleteListener {

public abstract void onDelete(String result);
}

/**
* 监听置顶
*/
public abstract interface OnStickListener {

public abstract void onStick(String result);
}

}

下面的是得以继承上面的basedialog

package com.free.csdn.view.dialog;

import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import com.free.csdn.R;
import com.free.csdn.bean.Blogger;

/**
* 博主相关操作
*
* @author tangqi
* @data 2015年8月8日下午9:54:05
*/

public class BloggerOperationDialog extends BaseDialog implements
android.view.View.OnClickListener {

private OnDeleteListener mOnDeleteListener;
private OnStickListener mOnStickListener;
private Blogger mBlogger;

public BloggerOperationDialog(Context context, Blogger blogger) {
super(context, R.style.Theme_Light_FullScreenDialogAct);//dialog的样式问题
// TODO Auto-generated constructor stub

this.mBlogger = blogger;
setContentView(R.layout.dialog_blogger_operation);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);

TextView deleteView = (TextView) findViewById(R.id.tv_delete_blogger);
TextView stickView = (TextView) findViewById(R.id.tv_stick_blogger);
TextView cacleView = (TextView) findViewById(R.id.tv_cacle_operate);

if (mBlogger.getIsTop() == 0) {
stickView.setText("置顶博主");
} else {
stickView.setText("取消置顶");
}

deleteView.setOnClickListener(this);
stickView.setOnClickListener(this);
cacleView.setOnClickListener(this);
}

@Override
public void onClick(View v) {
dismiss();

switch (v.getId()) {
case R.id.tv_delete_blogger:
mOnDeleteListener.onDelete(null);
break;

case R.id.tv_stick_blogger:
mOnStickListener.onStick(null);
break;

case R.id.tv_cacle_operate:
break;

default:
break;
}
}

/*
* 删除
*/
public void setOnDeleteListener(OnDeleteListener onDeleteListener) {
this.mOnDeleteListener = onDeleteListener;
}

/*
* 置顶
*/
public void setOnStickListener(OnStickListener onStickListener) {
this.mOnStickListener = onStickListener;
}

}

dialog的主题

<style name="Theme.Light.FullScreenDialogAct" parent="@style/BaseDialog">
<item name="android:windowBackground">@color/transparent</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:windowSoftInputMode">adjustPan</item>
</style>

自定义的dialog的更多相关文章

  1. android中自定义的dialog中的EditText无法弹出输入法解决方案

    1.解决无法弹出输入法: 在show()方法调用之前,用dialog.setView(new EditText(context))添加一个空的EditText,由于是自定义的AlertDialog,有 ...

  2. CustomDialog——一个多功能、通用、可自定义的Dialog

    CustomDialog--一个多功能.通用.可自定义的Dialog  依赖 compile 'com.github.SiberiaDante:CustomDialog:v1.0.1'  说明[Cus ...

  3. 自定义loading dialog --- 后背景透明

    自定义loading dialog --- 后背景透明    <style name="loading_dialog" parent="android:style/ ...

  4. 自定义样式 dialog

    自定义样式 dialog,可设置界面外点击屏幕外和返回键  是否消失 基本用法如下: CustomDialog.Builder customBuilder = new CustomDialog.Bui ...

  5. 自定义android Dialog

    1.自定义Dialog: import android.app.AlertDialog; import android.app.Dialog; import android.content.Conte ...

  6. 关于JFace的自定义对话框(Dialog类)

    仅仅是使用MessageDialog,InputDialog等JFace中现成的对话框类是无法满足实际项目开发需要的. 很多时候都需要自己定制对话框,自定义对话框只要在Dialog类的基础上作扩展就行 ...

  7. Android自定义对话框(Dialog)位置,大小

    代码: package angel.devil; import android.app.Activity;import android.app.Dialog;import android.os.Bun ...

  8. Android 自定义对话框(Dialog)位置,大小

    代码: package angel.devil; import android.app.Activity; import android.app.Dialog; import android.os.B ...

  9. 95秀-自定义对话框 dialog 合集

    普通的确认对话框 NormalDialog.java import android.app.Dialog; import android.content.Context; import android ...

随机推荐

  1. Windows文本文件编码

    目录 1 ANSI编码    2 2 UTF16BE编码    2 3 UTF16LE编码    2 4 UTF-8编码    2 5 BOM    3 6 乱码    3 7 总结    5 如下图 ...

  2. MIRO校验过程

    一.介绍发票校验是物料管理(MM)系统的一部分.它提供物料管理部分和财务会计, 成本控制和资产管理部分的连接.物料管理模块的发票校验为以下目的服务:它完成物料采购的全过程 - 物料采购从采购申请开始, ...

  3. js的预编译机制

    1.var定义的是“当前作用域下的一个变量”,当在函数内部不使用var声明时,会被当做全局变量而不是函数内的局部变量(严格模式下还会报错) 2.js的预编辑:[对定义式函数]直接创建为作用域上的函数变 ...

  4. 【Problem solved】 error C2665: “loadimage”: 2 个重载中没有一个可以转换所有参数类型

    选择“项目”菜单->项目属性->配置属性->常规->字符集,改为“未设置”即可.

  5. 微信JS SDK Demo 官方案例

    微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微信分享 ...

  6. CentOS7+JDK8编译Hadoop2.6.4

    1. 下载相关软件 apache-maven-3.3.1-bin.tar.gz protobuf-2.5.0.tar.gz hadoop-2.6.4-src.tar.gz 2.配置好jdk8环境(请看 ...

  7. CentOS报错:Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock32 error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"

    今天安装完带图形界面的CentOS 7后,在Terminal中运行yum安装命令时报了以下错误: Could not retrieve mirrorlist http://mirrorlist.cen ...

  8. DSP EPWM学习笔记2 - EPWM相关寄存器设置问题解析

    DSP EPWM学习笔记2 - EPWM相关寄存器设置问题解析 彭会锋 本篇主要针对不太熟悉的TZ 故障捕获 和 DB 死区产生两个子模块进行学习研究 感觉TI的寄存器命名还是有一定规律可循的 SEL ...

  9. python list对象

    list对象 1.list定义l=['first','second'] 2.list追加对象list.append('aa');append的方法总是把元素追加到末尾 insert(索引号,'项目') ...

  10. isDebugEnabled作用

       早上写了日志级别,然后想起在使用的时候经常用isDebugEnabled,一鼓作气.彻底弄懂它: 现象 if (logger.isDebugEnabled()) { logger.debug(m ...