通用的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 Web API 2框架揭秘》免费赠送
在继<WCF全面解析(上下册)>.<ASP.NET MVC 4框架揭秘>之后,我的另一本书<ASP.NET Web API 2框架揭秘>( 本书详细信息见< ...
- 为 Neutron 准备物理基础设施(I) - 每天5分钟玩转 OpenStack(75)
前面讨论了 Neutron 的架构和基础知识,接下来就要通过实验深入学习和实践了. 第一步就是准备实验用的物理环境,考虑如下几个问题: 需要几个节点? 如何分配节点的角色? 节点上部署哪些服务? 配几 ...
- (十八)WebGIS中清空功能和地图定位功能的设计以及实现
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 当地图中增加了很多元素后,对不同的元素需要进行一定的控制,最 ...
- TreeView控件使用
treeView1.SelectedNode = treeView1.Nodes[0]; //选中当前treeview控件的根节点为当前节点添加子节点: TreeNode tmp; tmp = n ...
- PHP实现实现数字补零格式化
在接支付SDK的时候,第三方回调处理时需要IP,并且IP的需求是:去掉点号,补零到每地址段3位, 如:192168000001 先看看我的实现: <?php $IP = explode ( '. ...
- 小白Linux入门 一
1 win7电脑上安装虚拟机,准备文件 vmware 12 http://www.orsoon.com/Soft/89658.html ubuntu 16.04 http://cn.ubuntu.c ...
- 在Mac上使用Visual Studio Code开发/调试.NET Core代码
.Net Core 1.0终于发布了,Core的一大卖点就是跨平台.这个跨平台不只是跨平台运行,而且可以跨平台开发.今天抽空研究了下在Mac下如何使用VS Code来开发.NET Core程序,并且调 ...
- 【那些年关于MyEclipse的快捷键大全】
MyEclipse 快捷键1(CTRL)-------------------------------------Ctrl+1 快速修复Ctrl+D: 删除当前行 Ctrl+Q 定位到最后编辑的地方 ...
- Effective java笔记(七),通用程序设计
45.将局部变量的作用域最小化 将局部变量的作用域最小化,可以增强代码的可读性和可维护性,并降低出错的可能性. Java允许在任何可以出现语句的地方声明变量(C语言中局部变量要在代码块开头声明),要使 ...
- 体验VS2015 Update 2 的 Android 和 Python
趁着假期不用加班,又遇到build 2016的劲爆消息--Xamarin免费集成到VS中 所以立马把vs升级到update 2体验一下下(之前也体验过). 在安装的时候也是只勾选了部分,不需要太多(全 ...