通用的Dialog自定义dialog
图样:
aaarticlea/png;base64,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" alt="" />aaarticlea/png;base64,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" alt="" />
1.自定义dialog的用法
YouMengDialog userMsgDialog=null;
private void initTipDialog() {
userMsgDialog = new YouMengDialog (this);
userMsgDialog.setTitle("系统提示!");
userMsgDialog.setMessage("提示的内容!");
userMsgDialog.setCanceledOnTouchOutside(false);
userMsgDialog.setButton1("取消", new View.OnClickListener() {
@Override
public void onClick(View v) {
userMsgDialog.dismiss(); }
});
userMsgDialog.setButton2("确定", new View.OnClickListener() {
@Override
public void onClick(View v) {
userMsgDialog.dismiss(); }
});
userMsgDialog.show();
}
2.dialog的java代码
public class YouMengDialog extends Dialog {
private View contentView;
public YouMengDialog(Context context){
super(context, R.style.tran_AlertDialog);
LayoutInflater inflater = LayoutInflater.from(context);
this.contentView = inflater.inflate(R.layout.dialog, null);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(contentView);
Window window = this.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
Display d = window.getWindowManager().getDefaultDisplay();
lp.width = (int) (d.getWidth() * 0.9F);
window.setAttributes(lp);
} //设置提示框标题
public void setTitle(String title){
final TextView textView = (TextView) contentView.findViewById(R.id.title);
textView.setText(title);
}
//设置提示的内容
public void setMessage(String message){
final TextView textView = (TextView) contentView.findViewById(R.id.message);
textView.setText(message);
}
//对提示框的第一个按键(取消按钮)设置,title:按钮上的文字,onclicklistener :触发的事件
public void setButton(String title,View.OnClickListener onClickListener){
final Button button = (Button) contentView.findViewById(R.id.dialogButton);
button.setText(title);
button.setOnClickListener(onClickListener);
} //当只需要一个确定键的时候让取消键隐藏
public void setButtonGone(){
Button button = (Button) contentView.findViewById(R.id.dialogButton);
button.setVisibility(View.GONE); }
//对提示框的第二个按键(确定按钮)设置,title:按钮上的文字,onclicklistener :触发的事件
public void setButton2(String title,View.OnClickListener onClickListener){
final Button button = (Button) contentView.findViewById(R.id.dialogButton2);
button.setText(title);
button.setOnClickListener(onClickListener);
}
}
3.用到的样式表
<style name="tran_AlertDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<!-- 边框 -->
<item name="android:windowIsFloating">true</item>
<!-- 是否浮现在activity之上 -->
<item name="android:windowIsTranslucent">true</item>
<!-- 半透明 -->
<item name="android:windowNoTitle">true</item>
<!-- 无标题 -->
<item name="android:windowBackground">@drawable/gray_corners_border</item>
<!-- 自己想要的背景 -->
<item name="android:backgroundDimEnabled">true</item>
<!-- 模糊 -->
</style>
4.dialog的布局
<?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="wrap_content"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/gray_bottom_border"
android:padding="10dp"
android:gravity="center_vertical">
<ImageView
android:src="@drawable/jinggao"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:maxWidth="25dp"
android:maxHeight="25dp"
android:scaleType="fitCenter"
android:layout_marginRight="8dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提示信息"
android:id="@+id/title"
android:textColor="@color/black"
android:textSize="@dimen/txt_20"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提示信息"
android:id="@+id/message"
android:textColor="@color/black"
android:textSize="@dimen/txt_20"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:padding="10dp"
android:gravity="center">
<Button
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="取消"
android:background="@drawable/gray_corners_button"
android:id="@+id/dialogButton"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp" android:textSize="@dimen/txt_20"
android:layout_weight="1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="确认"
android:background="@drawable/green_corners_button"
android:id="@+id/dialogButton2"
android:textSize="@dimen/txt_20"
android:textColor="@color/white"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_weight="1" />
</LinearLayout></LinearLayout>
通用的Dialog自定义dialog的更多相关文章
- Animate a custom Dialog,自定义Dialog动画
Inside res/style.xml <style name="AppTheme" parent="android:Theme.Light" /> ...
- CustomDialog——一个多功能、通用、可自定义的Dialog
CustomDialog--一个多功能.通用.可自定义的Dialog 依赖 compile 'com.github.SiberiaDante:CustomDialog:v1.0.1' 说明[Cus ...
- C/C++ Qt 自定义Dialog对话框组件应用
在上一篇博文 <C/C++ Qt 标准Dialog对话框组件应用> 中我给大家演示了如何使用Qt中内置的标准对话框组件实现基本的数据输入功能. 但有时候我们需要一次性修改多个数据,使用默认 ...
- Android—自定义Dialog
在 Android 日常的开发中,Dialog 使用是比较广泛的.无论是提示一个提示语,还是确认信息,还是有一定交互的(弹出验证码,输入账号密码登录等等)对话框. 而我们去看一下原生的对话框,虽然随着 ...
- Android自定义Dialog(美化界面)
前言:在做项目的时候,发现dialog界面太丑陋,从csdn上下载了一份自定义dialog的源码,在他的基础上对界面进行美化...有需要的朋友可以直接拿走 效果图如下: 主要代码: /** * 自定义 ...
- Android自定义Dialog及其布局
实际项目开发中默认的Dialog样式无法满足需求,需要自定义Dialog及其布局,并响应布局中控件的事件. 上效果图: 自定义Dialog,LogoutDialog: 要将自定义布局传入构造函数中, ...
- 自定义Dialog宽度占满屏幕
一.自定义Dialog继承Dialog public class MyDialog extends Dialog { 二.为Dialog设置样式 在style中建立新样式继承 @android:sty ...
- 关于实现自定义Dialog和实现Dialog里view的事件监听的两种方法
一.自定义dialog. 二.实现dialog里view的事件监听 1.自定义dialog比较简单.在实例化new的时候,加入样式,布局就行了.或者重写dialog. 2.实现dialog里view的 ...
- 自定义Dialog之信息提示
对话框对于应用也是必不可少的一个组件,在Android中也不例外,对话框对于一些提示重要信息,或者一些需要用户额外交互的一些内容很有帮助. 自定义Dialog步骤: 1.主要创建Java类,并继承Di ...
随机推荐
- ASP.NET:在一般处理程序中通过 Session 保存验证码却无法显示图片?
using System.Drawing; using System.Web; using System.Web.SessionState; /// <summary> /// Captc ...
- ZOJ Problem Set - 1109 Language of FatMouse
这道题目最让人头疼的就是该题的input怎么结束,因为它要求输入一个空行的时候则一串字符串输入结束,这就不得不让人绕个弯来解决这个问题. (注:本人习惯于使用C中的字符串操作,但是用到map要求使用s ...
- MVC发布后项目存在于根目录中的子目录中时的css与js、图片路径问题
加载固定资源js与css <script src="@Url.Content("~/Scripts/js/jquery.min.js")" type=&q ...
- 浅尝ECMAScript6
浅尝ECMAScript6 简介 ECMAScript6 是最新的ECMAScript标准,于2015年6月正式推出(所以也称为ECMAScript 2015),相比于2009年推出的es5, es6 ...
- mysql创建定时执行存储过程任务
sql语法很多,是一门完整语言.这里仅仅实现一个功能,不做深入研究. 目标:定时更新表或者清空表. 案例:曾经做过定时清空位置信息表的任务.(然而,当时并未考虑服务器挂掉后的情况) 本次测试:每5s更 ...
- 用Vagrant和Ansible搭建持续交付平台
这是一个关于Vagrant的学习系列,包含如下文章: Vagrant入门 创建自己的Vagrant box 用Vagrant搭建Jenkins构建环境 用Vagrant和Ansible搭建持续交付平台 ...
- Epplus
简介:Epplus是一个使用Open Office XML(Xlsx)文件格式,能读写Excel 2007/2010文件的开源组件 功效:支持对excel文档的汇入汇出,图表(excel自带的图表基本 ...
- Using Nuget in Visual Studio 2005 & 2008
NuGet is a Visual Studio extension that makes it easy to install and update third-party libraries an ...
- Windows应用程序快捷方式创建工具
说明 在windows中经常用到将程序添加到桌面或者是开始菜单,乘着休息时间就做了这么一个快捷的工具. 程序展示: 用法 1. 命令行(CMD命令窗口) 命令: C:\Users\Administra ...
- 引用Microsoft.Office.Interop.Excel出现的问题
引用Microsoft.Office.Interop.Excel出现的问题 转自:http://www.hccar.com/Content,2008,6,11,75.aspx,作者:方继祥 操作背 ...