android 仿ios 对话框已封装成工具类

一个封装好的Android仿Ios ActionSheet控件 这次还是带来一个Android仿Ios风格的控件。Ios里有个控件叫ActionSheet,就是那种从下往上弹出的选项卡,比如下面这个效果:                                                                   UI在设计效果图的时候,添加图片、选择性别之类的功能经常会这么设计,ios那边有个ActionSheet可以用,a 阅读详情

对话框 在android中是一种很常见的交互提示用户的方式,但是很多产品狗都叫我们这些做android的仿ios,搞的我们android程序员很苦逼,凭什么效果老是仿ios,有没有一点情怀,不过ios在界面封装确实比android好很多,吐槽完毕,比如一种很常见的场景就是在没网的情况下 提示用户,看效果图:


在很多界面都要有提示,那么就自然而然想到了封装,而不至于在每个页面都重写一篇,话不多说直接上代码

CommonDialog.java

public class CommonDialog extends Dialog{
	 private Context context;
	 private String title;
     private ClickListenerInterface clickListenerInterface;
	public CommonDialog(Context context) {
		super(context, R.style.MyDialogStyle);
		this.context = context;
	}
	 @Override
	 protected void onCreate(Bundle savedInstanceState) {
	         super.onCreate(savedInstanceState);
	         init();
	    }
	 private void init() {
		LayoutInflater inflater =LayoutInflater.from(context);
		View view =inflater.inflate(R.layout.dialog_common, null);
		setContentView(view);
		TextView tv_ok=  (TextView) view.findViewById(R.id.tv_ok);
		tv_ok.setOnClickListener(new clickListener());
        Window dialogWindow = getWindow();
        WindowManager.LayoutParams lp = dialogWindow.getAttributes();
        DisplayMetrics d = context.getResources().getDisplayMetrics(); // 获取屏幕宽、高用
        lp.width = (int) (d.widthPixels * 0.8); // 高度设置为屏幕的0.6
        dialogWindow.setAttributes(lp);
	}
	public interface ClickListenerInterface {
		        public void doConfirm();
		   }
    public void setClicklistener(ClickListenerInterface clickListenerInterface) {
		        this.clickListenerInterface = clickListenerInterface;
		     }
	 private class clickListener implements View.OnClickListener {
		         @Override
		          public void onClick(View v) {
		              int id = v.getId();
		            switch (id) {
		             case R.id.tv_ok:
		            	 dismiss();
		                break;
		            }
	         }
	     };
}

dialog_common.xml

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/dialog_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/login_bg"
    android:gravity="center_horizontal"
    android:orientation="vertical" 
    android:layout_marginBottom="10dp"
    >
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="1dp"
        android:gravity="center_horizontal"
        android:padding="10dp"
        android:text="温馨提示"
        android:textColor="@color/c282828"
        android:textSize="18sp" />
	<TextView 
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:text="请求超时,请确定网络是否正常"
	    android:textSize="15sp"
	    android:textColor="#383838"
	    />
	<View
        android:layout_width="match_parent"
        android:layout_height="0.4dp"
        android:background="@color/line_color01"
        android:layout_marginTop="10dp"
         />
	
	<TextView 
	    android:id="@+id/tv_ok"
	    android:layout_width="fill_parent"
	    android:layout_height="30dp"
	    android:text="确定"
	    android:textSize="16sp"
	    android:layout_marginTop="10dp"
	    android:layout_marginBottom="10dp"
	    android:focusable="true"
	    android:clickable="true"
	    android:gravity="center"
	    android:textColor="#00B2EE"
	    />
</LinearLayout>

对话框样式 style

<style name="MyDialogStyle">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowFrame">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
        <item name="android:backgroundDimEnabled">true</item>
    </style>
使用:

final CommonDialog confirmDialog = new CommonDialog(getActivity());
            confirmDialog.show();
            confirmDialog.setClicklistener(new CommonDialog.ClickListenerInterface() {
            @Override
            public void doConfirm() {}
            });

Android仿制iOS风格底部弹出对话框完整指南 随着Android应用的多样化,用户界面(UI)的美观性和用户体验(UX)变得尤为重要。在众多设计元素中,底部弹出对话框被广泛应用于收集用户输入、显示信息或进行操作选择。然而,由于Android和iOS的系统设计理念存在差异,这就要求开发者在Android平台上实现iOS风格的底部弹出对话框时,既要保持iOS风格的独特性,又要确保良好的用户体验和应用性能。在本章中,我们将对Android仿制iOS底部弹出对话框的需求进行概述,讨论其重要性及在移动应用中的应用场景,为接下来的章节内容打下理论基础。 阅读详情

相关推荐

打造Android仿iOS风格的开关按钮

自定义View在Android开发中是一个强大的工具,它允许开发者超越标准的View组件,以满足特定的UI需求。其核心原理是扩展了Android中的View类,提供了更多的绘制和交互功能。从技术角度分析,自定义View的创建首先需要理解View的构造过程。在Android中,View对象的生命周期从构造函数开始,然后经历onMeasureonLayout和onDraw等关键方法。其中,onDraw方法对于自定义View尤为重要,因为在此方法中可以进行自定义的绘制逻辑。

weixin_36123300的博客 1162

android 仿ios 底部弹出,项目需求讨论-仿ios底部弹框实现及分析

hi,在项目开发中,有时候需要仿照ios的底部弹框做效果,比如我们在iPhone上面关闭定位的时候,就会弹出ios特有的底部弹框:屏幕快照 2017-10-09 08.20.30 PM.png弹框布局:我们可以来看下这个弹框有哪些显示:标题(一个标题)选项(N个选项,此处图片只有关闭这一个选项)底部一个取消按钮(一个取消按钮)所以我们先考虑这个弹框的布局就需要:因为中间的菜单是一个列表,所以根据这...

weixin_39959236的博客 552

Android仿iOS风格的ActionSheet组件快速实现指南

在移动应用开发中,用户交互设计是构建良好用户体验的关键部分。为了实现这一点,开发者需要采用各种设计模式和控件来丰富应用的交互层次。ActionSheet作为iOS中常用的一个交互设计组件,它以弹出菜单的方式让用户选择特定选项或执行特定操作。然而在Android平台上,这样的控件并不自带,因此对Android开发者来说,实现一个功能完善、视觉与iOS一致的ActionSheet是一个挑战。为了简化这一过程,开发者社区中已有人制作了多种仿iOS风格的ActionSheet Android控件库。

weixin_35751412的博客 935

android仿ios圆角对话框

在日常开发过程中我们大部分会遇到各式各样对话框dialog,当然还有要求和仿ios风格的圆角对话框等等。整理和修改一部分网上提供的源码,以达到需求。记录下以备以后用到。文章最后提供demo源码。下面看下效果。 下面简单介绍实现思路和代码讲解(此处介绍样式五dialog的实现): 先看下dialog.xml文件: <?xml version="1.0" enco...

WindyMing的博客 773

自定义dialog仿ios风格的dialog

资源是关于仿ios风格的弹出dialog,还可以根据需求自己改。在此免费分享飞大家

ESP8266入门(一)固件烧录及常见问题分析

为了实现对数据的远程收集和分析,偶然间发现了esp8266这个模块,对此进行了深入的学习,可是在学习之初遇到了大量的问题,这个系列文章就为大家讲讲我遇到的坑以及解决办法,还有esp8266如何连上oneNet云平台的方法。因为我用的是esp8266nodemcu,可以直接连接usb进行烧录,如果用模块的话接线就比较麻烦,可以去搜搜看.

Jerryxuzherui的博客 8954

Android万能的等待框(Dialog)超级好用

由于公司有开了新项目,由于公司之前没啥框架,所以只能自己搭框架了 dialog等待框,弹出选择框都是很常用的,所以感觉有找一个比较好的框架。 借鉴了很多大牛的代码,又亲自运行一下,感觉这个还不错。 仿微信的等待框 转圈圈的等待框,文字的颜色原本是不可以修改的,但是大家可以自己改源码 这个是一个三个按钮的文本框选择提示框 这个是一个多选框,确定以后取数据可能有点麻烦。大家可以自己试着修改修

Mr小颜同学的博客 1万+

MT4量化交易入门:手把手教你用MQL4编写第一个外汇EA(含完整代码)

本文详细介绍了如何使用MQL4在MT4平台上编写第一个外汇EA,涵盖从开发环境配置到均线交叉策略实现的完整流程。通过手把手教学和完整代码示例,帮助量化交易新手快速掌握外汇自动化交易的核心技术,实现高效的MT4量化交易系统。

mmm90的博客 525

android 自定义dialog iphone,android实现 仿iphoneDialog实现类似于iphone对话框样式

续:话说道哥跟发哥在上海柯炫做Android开发,看来跟发哥差距很大。总结了下发哥的技术拿来这里装逼用用。参考这里: http://blog.youkuaiyun.com/xiechengfa/article/details/40373331 package com.zf.iosdialog;import java.util.ArrayList;import android.app.Activity;imp...

weixin_28909745的博客 349

Oracle19c时区升级实战:从32到42版本的数据泵TSTZ报错解决方案

本文详细介绍了Oracle19c时区版本从32升级到42的实战步骤,重点解决数据泵TSTZ报错问题。通过检查时区版本、下载补丁包、应用补丁及执行升级脚本等关键操作,确保数据库时区数据更新,避免夏令时转换错误和历史时区规则不匹配等问题。文章还提供了常见问题排查和升级后的注意事项,帮助DBA高效完成时区升级任务。

n7o8p的博客 283

【物联网毕设】多模态智能门禁系统设计(STM32+人脸识别+蓝牙联动)

本文详细介绍了基于STM32的多模态智能门禁系统设计,整合了人脸识别、蓝牙联动、RFID和密码等多种开锁方式。文章从硬件选型、电路设计、嵌入式软件编程到手机APP开发,提供了完整的毕设实现方案与调试指南,帮助物联网与嵌入式方向的学生构建一个功能全面、可扩展的智能门禁系统。

rain6的博客 246

Android仿IOS弹出框

仿ios弹框 自定义view

菜鸟的博客 2161

MTK(camera篇)Camera整体点亮

本文介绍了在MTK平台上添加新Camera Sensor的驱动开发流程。主要内容包括:1)MTK Camera采用HAL3架构,驱动层主要负责sensor电源控制和寄存器操作;2)详细说明了添加新sensor需要在多个文件中进行的修改,包括设备树配置、内核头文件、驱动列表、电源序列等;3)特别指出需要配置I2C地址表,并导入tuning文件和metadata文件以完善ISP处理流程。文章提供了完整的文件修改清单,涵盖了从内核层到HAL层的完整开发过程,为MTK平台Camera Sensor驱动开发提供了具体

weixin_49303682的博客 360

android 模仿ios 对话框,android 仿ios 对话框已封装成工具类

对话框 在android中是一种很常见的交互提示用户的方式,但是很多产品狗都叫我们这些做android的仿ios,搞的我们android程序员很苦逼,凭什么效果老是仿ios,有没有一点情怀,不过ios在界面封装确实比android好很多,吐槽完毕,比如一种很常见的场景就是在没网的情况下 提示用户,看效果图:在很多界面都要有提示,那么就自然而然想到了封装,而不至于在每个页面都重写一篇,话不多说直接上...

weixin_28972665的博客 396

RK3568下GPIO模拟串口

在嵌入式开发中,硬件 UART 资源可能被其他外设占用。此时,通过 GPIO 模拟 UART(软串口)成为一种灵活的解决方案。本文基于 RK3568 平台,结合 Linux 内核模块,实现高精度软串口通信,并深入分析关键技术细节。可以看到已经接收到数据了,可以自己创建自定义的设备文件到/dev下,也可以按照串口设备的标准创建一个设备,后面有时间我写一篇和标准串口设备结合的gpio模拟串口文章。RK3568 GPIO 模拟串口(软串口)实现详解。将编译好的驱动放到板子上运行。再写个Makefile。

文石_2009的博客 364

分子对接时,如何批量处理小分子受体和蛋白配体,让他们快速转化为pdbqt格式,然后用vina跑?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 1222

Android定位工具类封装,android 仿ios 对话框已封装成工具类

对话框 在android中是一种非经常见的交互提示用户的方式,可是非常多产品狗都叫我们这些做android的仿ios,搞的我们android程序猿非常苦逼,凭什么效果老是仿ios,有没有一点情怀,只是ios在界面封装确实比android好非常多,吐槽完成,比方一种非经常见的场景就是在没网的情况下 提示用户,看效果图:在非常多界面都要有提示,那么就自然而然想到了封装,而不至于在每一个页面都重写一篇,...

weixin_36323859的博客 184

YOLO26改进策略【Neck】| CVPR2025 LCA轻量交叉注意力 跨层级双向引导 + 分层降噪增强,提升微小目标特征表达

简单相加、拼接融合无法建立深浅层双向约束关系,浅层微小目标易被深层背景覆盖,深层全局信息难以修正浅层噪声;普通单路自注意力仅单一层内建模依赖,缺少跨层级特征互引导机制,深浅特征信息割裂;标准多头跨注意力计算量大、参数量高,轻量化单模态检测/分割网络部署困难,无法区分前景目标与背景噪声。为此设计单模态轻量化交叉注意力LCA,构建浅层细节、深层语义双分支双向引导结构,轻量完成跨层级特征交互,同步降噪并强化单模态微小目标特征。

Limiiiing的博客 522

将网站封装成APP安卓应用

将网站封装成APP安卓应用 将网站封装成APP安卓应用我接触到的目前有三种方法,构建方法和难度也是逐步提升,不过,世上无难事,只怕有心人,干就完了,奥里给! 法一:利用一个木函封装 讲真,这个方法是我目前接触到最快,最省力,而且最高效的做法,速度起飞,快的一批~~不信?展示给你看不就完啦~ 1.1 手机应用商店搜索一个木函应用。 1.2 找到下载并安装。 1.3 打开,依次 全部应用>>网页转应用。 1.4 填写好相关信息。 1.5 打包构建安装即可。 1.6 诺,可以正常使用啦

Cryu_xuan的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

一个封装好的仿ios风格的选择对话框

说起来毕业也一年半了,一直想把积累的一些东西搬到博客上来但找不到什么时间(其实是因为懒,>_   今天带来一个自定义控件叫IosDialog,就是ios上那种风格的有一个确定键一个返回键的文本提示对话框。控件是很早以前写的,之所以写这个控件是因为UI在做效果图的时候总是参照ios的风格来做,而ios那边有现成的控件,android这边我觉得每次都copy一大段的代码太麻烦了,于是就封装了这个控

Sure_Min的博客 1115

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

android仿ios消息框,Android仿IOS提示框

本周做项目时,Android自带的提示框太难看,这里做个仿IOS的提示框:效果图: 一,创建一个自定义的布局文件(其中,像颜色,文字,最好在values文件下创建,然后引入,这里就直接创建):layout_dialog.xml:二、创建一个工具类,可能经常使用,进行封装:DialogUtil:public class DialogUtil {private Context mContext;pri...

weixin_39629188的博客 2455

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Android中仿IOS提示框的实现

前言   在Android开发中,我们有时需要实现类似IOS的对话框。今天我就来总结下,如何通过自定义的开发来实现类似的功能。 自定义Dialog   我们知道Android中最常用的对话框就是Dialog及其派生类。这次我们通过组合的方式来实现一个类似IOS对话框的效果。我们先来看一下布局效果,这个相信大家都能弄出来,在这里我就贴一下最后的效果图(注意:对话框的边缘是圆角的)。 ...

diezhi2505的博客 645

android仿ios更新方式,Android中仿IOS提示框的实现方法

前言在Android开发中,我们有时需要实现类似IOS的对话框。今天我就来总结下,如何通过自定义的开发来实现类似的功能。自定义Dialog我们知道Android中最常用的对话框就是Dialog及其派生类。这次我们通过组合的方式来实现一个类似IOS对话框的效果。我们先来看一下布局效果,这个相信大家都能弄出来,在这里我就贴一下最后的效果图(注意:对话框的边缘是圆角的)。效果图如下:我们看到,这个和IO...

weixin_42404983的博客 580

App封装源码下载|安卓/iOS一键封装工具源码+完整开发教程

在弹出的Organizer窗口中,选择生成的归档文件,点击“Distribute App”,按照向导的提示完成IPA文件的生成。通过本文的介绍,我们了解了一款安卓/iOS一键封装工具的源码结构和开发教程。修改应用图标和启动页:将准备好的图标和启动页图片放入res/mipmap和res/drawable目录下,并在AndroidManifest.xml和相应的布局文件中进行引用。修改应用图标和启动页:在Xcode的项目导航器中,选择Assets.xcassets,将准备好的图标和启动页图片拖入相应的位置。

pekdb的博客 918

仿25ge封装的APP封装源码-可以封装安卓和IOS

介绍: 安卓以封装APK   IOS封装的是描述文件 可以去除顶部网址,绿标签名等等很多功能 网盘下载地址: http://www.zijiepan4.xyz/0AtqW7vJAqz0 图片:

www_5438xiazai的博客 759
上一篇: android 点击listview 展开和闭合 效果
下一篇: android Handlerr.removeCallbacksAndMessages(null)的妙用
zhoushenxian
博客等级 码龄12年 453粉丝 549原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值