热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

androiddialog自定义圆角,Android:具有自定义视图和圆角的AlertDialog

我刚创建了一个自定义警报对话框.但它的角落不是圆的.首先创建一个布局为–xmlns:toolshttp:schemas.android.comtoolsandroid:layo

我刚创建了一个自定义警报对话框.但它的角落不是圆的.

首先创建一个布局为 –

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="240sp"

android:layout_height="wrap_content"

android:background="#FFFFFF"

tools:ignore="SelectableText" >

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_margin="1sp"

tools:ignore="UselessParent" >

android:id="@+id/tablelayout_dialog_title"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:stretchColumns="1" >

android:id="@+id/tablerow_dialog_title"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

tools:ignore="UselessParent" >

android:id="@+id/imageview_dialog_image"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/alertwhite"

android:layout_gravity="center"

android:background="#643c3a"

android:contentDescription="@string/string_todo"/>

android:id="@+id/textview_dialog_title"

android:layout_width="wrap_content"

android:layout_height="fill_parent"

android:background="#643c3a"

android:padding="10sp"

android:gravity="center_vertical"

android:textColor="#FFFFFF"

android:textSize="15sp" />

android:id="@+id/viewline_dialog"

android:layout_below="@+id/tablelayout_dialog_title"

android:layout_width = "wrap_content"

android:layout_height="0.25dip"

android:background="#ffffff"

android:layout_centerVertical ="true" />

android:id="@+id/textview_dialog_text"

android:layout_below="@+id/viewline_dialog"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:padding="8sp"

android:background="#643c3a"

android:textColor="#FFFFFF"

android:textSize="12sp" />

android:id="@+id/viewline1_dialog"

android:layout_width = "wrap_content"

android:layout_height="0.5dip"

android:background="#ffffff"

android:layout_centerVertical ="true"

android:layout_below="@+id/textview_dialog_text"/>

android:id="@+id/tablelayout_dialog_button"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:stretchColumns="*"

android:layout_below="@+id/viewline1_dialog"

android:background="#a8a8a8" >

android:id="@+id/tablerow_dialog_button"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

tools:ignore="UselessParent" >

android:id="@+id/button_dialog_yes"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_margin="8sp"

android:paddingTop="5sp"

android:paddingBottom="5sp"

android:background="@drawable/roundedcornerbuttonfordialog_shape"

android:text="@string/string_yes" />

android:id="@+id/button_dialog_no"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_margin="8sp"

android:paddingTop="5sp"

android:paddingBottom="5sp"

android:background="@drawable/roundedcornerbuttonfordialog_shape"

android:text="@string/string_no" />

现在把对话框的代码写成 –

public static void callAlert(String message,final Context context){

final Dialog dialog = new Dialog(context);

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

dialog.setContentView(R.layout.customdialog_layout);

dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.WHITE));

TextView tvTitle = (TextView) dialog.findViewById(R.id.textview_dialog_title);

tvTitle.setText("MyApp..");

TextView tvText = (TextView) dialog.findViewById(R.id.textview_dialog_text);

tvText.setText(message);

Button buttonDialogYes = (Button) dialog.findViewById(R.id.button_dialog_yes);

buttonDialogYes.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

// Do your stuff...

dialog.dismiss();

}

});

Button buttonDialogNo = (Button) dialog.findViewById(R.id.button_dialog_no);

buttonDialogNo.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

// Do your stuff...

dialog.dismiss();

}

});

dialog.show();

}

并称此方法为 –

String message = "Your Message";

callAlert(message,callingClass.this);

希望这将有助于您.



推荐阅读
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • 技术分享:深入解析GestureDetector手势识别机制
    技术分享:深入解析GestureDetector手势识别机制 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 【问题】在Android开发中,当为EditText添加TextWatcher并实现onTextChanged方法时,会遇到一个问题:即使只对EditText进行一次修改(例如使用删除键删除一个字符),该方法也会被频繁触发。这不仅影响性能,还可能导致逻辑错误。本文将探讨这一问题的原因,并提供有效的解决方案,包括使用Handler或计时器来限制方法的调用频率,以及通过自定义TextWatcher来优化事件处理,从而提高应用的稳定性和用户体验。 ... [详细]
  • 深入解析 Android 中 EditText 的 getLayoutParams 方法及其代码应用实例 ... [详细]
  • 本文全面解析了JavaScript中的DOM操作,并提供了详细的实践指南。DOM节点(Node)通常代表一个标签、文本或HTML属性,每个节点都具有一个nodeType属性,用于标识其类型。文章深入探讨了DOM节点的创建、查询、修改和删除等操作,结合实际案例,帮助读者更好地理解和掌握DOM编程技术。 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 设计实战 | 10个Kotlin项目深度解析:首页模块开发详解
    设计实战 | 10个Kotlin项目深度解析:首页模块开发详解 ... [详细]
  • 掌握Android UI设计:利用ZoomControls实现图片缩放功能
    本文介绍了如何在Android应用中通过使用ZoomControls组件来实现图片的缩放功能。ZoomControls提供了一种简单且直观的方式,让用户可以通过点击放大和缩小按钮来调整图片的显示大小。文章详细讲解了ZoomControls的基本用法、布局设置以及与ImageView的结合使用方法,适合初学者快速掌握Android UI设计中的这一重要功能。 ... [详细]
  • 在过去,我曾使用过自建MySQL服务器中的MyISAM和InnoDB存储引擎(也曾尝试过Memory引擎)。今年初,我开始转向阿里云的关系型数据库服务,并深入研究了其高效的压缩存储引擎TokuDB。TokuDB在数据压缩和处理大规模数据集方面表现出色,显著提升了存储效率和查询性能。通过实际应用,我发现TokuDB不仅能够有效减少存储成本,还能显著提高数据处理速度,特别适用于高并发和大数据量的场景。 ... [详细]
  • Docker 环境下 MySQL 双主同步配置指南
    本文介绍了如何在 Docker 环境中配置 MySQL 的双主同步,包括目录结构的创建、配置文件的编写、容器的创建与设置以及最终的验证步骤。 ... [详细]
  • Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
author-avatar
羚瑞聪羊奶粉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有