推荐一款强大的Android弹窗库——XanderPanel

推荐一款强大的Android弹窗库——XanderPanel

XanderPanel项目地址:https://gitcode.com/gh_mirrors/ex/ExpandDialog

项目介绍

在日常的Android开发中,我们经常需要创建各种各样的对话框来增强用户体验。XanderPanel是一个强大的、高度定制化的弹窗库,它由开发者XanderWang倾力打造,旨在提供更优雅、更灵活的对话框解决方案。项目包含了普通模式、Sheet模式、Menu模式以及分享模式等多种类型的弹窗,同时也支持自定义布局,满足你的各种需求。

项目技术分析

XanderPanel的核心在于它的灵活性和易用性。通过简洁的API设计,开发者可以轻松地构建各种对话框。例如,你可以使用Builder类设定标题、图标、消息文本,甚至自定义按钮点击事件。对于Sheet模式,它模仿了iOS的ActionSheet,而Menu模式则允许你直接从XML菜单文件创建全屏的菜单项。此外,分享模式让你在应用内实现一键分享变得轻而易举。

项目及技术应用场景

  • 普通模式:适用于展示简单的信息,如确认提示或错误信息。
  • Sheet模式:适合在多个选项中让用户进行选择,常见于分享功能。
  • Menu模式:用于显示一系列操作,尤其适用于底部弹出的操作栏。
  • 自定义布局:当系统提供的默认模式无法满足需求时,可以完全自定义布局,打造个性化的界面。
  • 分享模式:集成多种社交平台分享,提高用户在应用内的交互体验。

项目特点

  1. 全面的模式覆盖:提供了多种对话框模式,满足不同场景需求。
  2. 动画优化:进入和退出的动画效果平滑流畅,提升用户体验。
  3. 易于使用:API设计简单明了,容易理解和集成到项目中。
  4. 高度定制化:支持自定义布局和按钮事件,确保与应用风格一致。
  5. 便捷的依赖管理:已发布到Jcenter,Android Studio开发者可通过Gradle配置快速引入。

如果你正在寻找一个能够简化Android弹窗实现的工具,那么XanderPanel绝对值得尝试。立即加入到你的项目中,让对话框变得更加出色吧!

下载Demo

Gradle集成:

dependencies {
    compile 'com.xander.panel:xanderpanel:1.3.1'
}

Maven集成:

<dependency>
  <groupId>com.xander.panel</groupId>
  <artifactId>xanderpanel</artifactId>
  <version>1.3</version>
  <type>pom</type>
</dependency>

赶紧行动起来,为你的应用增添一份专业感吧!

XanderPanel项目地址:https://gitcode.com/gh_mirrors/ex/ExpandDialog

平时工作需要,加上自己的业余时间做了这么一个控件。普通模式就像 AlertDialog , 只不过宽度是全屏,并且对进入和退出动画做了优化,使用方法参考下面代码XanderPanel.Builder mBuilder = new XanderPanel.Builder(mContext); mBuilder.setTitle("Title")     .setIcon(R.mipmap.ic_launcher)     .setMessage("I am Message!!!")     .setGravity(Gravity.TOP)     .setController("Cancel", "Ok", new PanelInterface.PanelControllerListener() {         @Override         public void onPanelNagetiiveClick(XanderPanel panel) {             toast("onPanelNagetiiveClick");         }         @Override         public void onPanelPositiveClick(XanderPanel panel) {             toast("onPanelPositiveClick");         }     })     .setCanceledOnTouchOutside(true); XanderPanel xanderPanel = mBuilder.create(); xanderPanel.show();Sheet 模式仿照 iOS 上的 ActionSheet 做的,XanderPanel.Builder mBuilder = new XanderPanel.Builder(mContext); mBuilder.setSheet(     new String[]{"I", "am", "sheet", "item"},     true,     new PanelInterface.SheetListener() {         @Override         public void onSheetItemClick(int position) {             toast("click sheet item "   position);         }         @Override         public void onSheetCancelClick() {             toast("sheet cancel");         }     } ); XanderPanel xanderPanel = mBuilder.create(); xanderPanel.show();Menu 模式添加对 menu.xml 文件的支持, menuitem 的宽度时全屏的,现在很多 app 都是这样子的设计了。 同时还可以设置排列的样式 list 和 gridXanderPanel.Builder mBuilder = new XanderPanel.Builder(mContext); mBuilder.list() .setMenu(R.menu.main_menu, new PanelInterface.PanelMenuListener() {     @Override     public void onMenuClick(MenuItem menuItem) {         toast("click MenuItem "   menuItem.getTitle());     } }) .setGravity(Gravity.BOTTOM) .setCanceledOnTouchOutside(true); XanderPanel xanderPanel = mBuilder.create(); xanderPanel.show();自定义布局同样支持自定义布局,自定义布局代码可参考如下代码XanderPanel.Builder mBuilder = new XanderPanel.Builder(mContext); mBuilder.setCanceledOnTouchOutside(true); mBuilder.setGravity(Gravity.BOTTOM); View mCustomViewBottom = mInflater.inflate(R.layout.custom_layout, null); mBuilder.setView(mCustomViewBottom); XanderPanel xanderPanel = mBuilder.create(); xanderPanel.show();分享模式项目里面有时候需要分享,顺便就加进来了,同样支持 list 和 grid 样式排列XanderPanel.Builder mBuilder = new XanderPanel.Builder(mContext); mBuilder.grid(2,3) .shareText("test share") .setGravity(Gravity.BOTTOM) .setCanceledOnTouchOutside(true); XanderPanel xanderPanel = mBuilder.create(); xanderPanel.show();如何使用发布到了 Jcenter , 如果你是用 Android studio 开发的话,会比较方便,在模块 build.gradle 下添加gradledependencies {     compile fileTree(dir: 'libs', include: ['*.jar'])     compile 'com.xandy.panel:xanderpanel:1.3' }maven<dependency>   <groupId>com.xander.panel</groupId>   <artifactId>xanderpanel</artifactId>   <version>1.3</version>   <type>pom</type> </dependency>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荣正青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值