XanderPanel-自定义的各种弹框效果,就像 AlertDialog , 只不过宽度是全屏,并且对进入和退出动画做了优化....
平时工作需要,加上自己的业余时间做了这么一个控件。普通模式就像 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>
- 1
- 粉丝: 329
- 资源: 2万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- nuget 库官方下载包,可使用解压文件打开解压使用
- 非wine、原生Linux迅雷安装包deb文件,支持Ubuntu、UOS统信、深度Deepin、LinuxMint、Debain系通用
- KUKA机器人安装包,与PROFINET软件包
- 船舶燃料消耗和二氧化碳排放分析数据集,燃料消耗和碳排放关联分析数据
- req-sign、bd-ticket-ree-public加密算法(JS)
- 全自动批量建站快速养权重站系统【纯静态html站群版】:(GPT4.0自动根据关键词写文章+自动发布+自定义友链+自动文章内链+20%页面加提权词)
- 串联式、并联式、混联式混合动力系统simulink控制策略模型(串联式、并联式、混联式每个都是独立的需要单独说拿哪个,默认是混联式RB) 有基于逻辑门限值、状态机的规则控制策略(RB)、基于等效燃油
- 法码滋.exe法码滋2.exe法码滋3.exe
- python-geohash-0.8.5-cp38-cp38-win-amd64
- Matlab根据flac、pfc或其他软件导出的坐标及应力、位移数据再现云图 案例包括导出在flac6.0中导出位移的fish代码(也可以自己先准备软件导出的坐标数据及对应点的位移或应力数据,可根据需