登录
首页 » Android » Android 仿微信圆角半透明底部弹出菜单

Android 仿微信圆角半透明底部弹出菜单

于 2022-10-29 发布 文件大小:240.78 kB
0 80
下载积分: 2 下载次数: 1

代码说明:

Android 仿微信圆角菜单、半透明底部弹出菜单。虽然重在模拟制作微信底部菜单,但是主界面上显示的菜单也是很不错的效果哦,很漂亮。圆角的菜单,测试时可单击“发送图片”按钮,即可滑出半透明的底部菜单,测试效果如抓图所示。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 网址检查机器人
    应用背景关键技术
    2022-02-26 21:18:37下载
    积分:1
  • Android 功能完善的数独游戏源代码
    Android 功能完善的数独游戏源代码,关于这个游戏的玩法,这里不再赘述了,游戏编写上的特点,简要说明下:   这个游戏在界面上可支持更换三种游戏主题(草地绿、天空蓝、深沉黑)。同时游戏中还涉及到了许多的android编程知识点,比如ColorPickerDialog、DrawView、OnTouchListener等的应用技巧,在界面中的滑动菜单也做的不错,滚动显示和隐藏菜单时,手指滑动需要达到指定速度才行,这样可有效避免误操作,另外menu最多可以滑动到的左边缘。值由menu布局的宽度来定,marginLeft到达此值之后,不能再减少。 。 另外还有毫秒级的线程睡眠编写技巧。   数独游戏是一款经典的益智游戏,用Android来写,也可熟悉各种Android编程技巧,对提升安卓编程水平有帮助。
    2023-03-04 17:45:06下载
    积分:1
  • 动态添加控件--超出导航屏幕
    动态添加控件--超出导航屏幕
    2015-04-22下载
    积分:1
  • 用javaee开发的安卓系统的天气预报+日历日程提醒功能源代码
    该系统实现了天气预报功能,可定位当前城市,添加其他城市,切换城市,还获取了出行建议,添加了日历日程提醒。 运用java写成的,数据库使用mysql.其他源码可参考文件。完整可运行。
    2022-06-27 00:33:18下载
    积分:1
  • ActivityForResult
    Android. ActivityForResult的用法.(Android. ActivityForResult.)
    2012-01-08 15:10:48下载
    积分:1
  • Android-souce-code
    《Android开发艺术探索》书中源码,安卓进阶必备资料(source code for book Android Developers artistic exploration)
    2016-08-04 20:38:13下载
    积分:1
  • eoeAndroid-Android-widget-Ver-2.pdf
    Androidƽ̨Widget
    2011-04-08 11:57:22下载
    积分:1
  • Android 查看时间日期的应用(Android高级控件的开发及应用-03_14).zip
    Android 查看时间日期的应用(Android高级控件的开发及应用-03_14).zip
    2019-10-06下载
    积分:1
  • 微信公众平台开发模式(JAVA) SDK/微信app
    【核心代码】package com.gson;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.Date;import java.util.Properties;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletInputStream;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.log4j.Logger;import com.gson.bean.Articles;import com.gson.bean.InMessage;import com.gson.bean.OutMessage;import com.gson.bean.TextOutMessage;import com.gson.inf.MessageProcessingHandler;import com.gson.util.Tools;import com.gson.util.XStreamFactory;import com.thoughtworks.xstream.XStream;/** * 请求拦截 * * @author GodSon * */public class WeChatFilter implements Filter { private final Logger logger = Logger.getLogger(WeChatFilter.class); private String _token; private String conf = "classPath:wechat.properties"; private String defaultHandler = "com.gson.inf.DefaultMessageProcessingHandlerImpl"; private Properties p; @Override public void destroy() { logger.info("WeChatFilter已经销毁"); } @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res; Boolean isGet = request.getMethod().equals("GET"); String path = request.getServletPath(); String pathInfo = path.substring(path.lastIndexOf("/")); if (pathInfo == null) { response.getWriter().write("error"); } else { _token = pathInfo.substring(1); if (isGet) { doGet(request, response); } else { doPost(request, response); } } } private void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setCharacterEncoding("UTF-8"); response.setContentType("text/xml"); OutMessage oms = new OutMessage(); ServletInputStream in = request.getInputStream(); // 转换微信post过来的xml内容 XStream xs = XStreamFactory.init(false); xs.alias("xml", InMessage.class); String xmlMsg = Tools.inputStream2String(in); logger.debug("输入消息:[" xmlMsg "]"); InMessage msg = (InMessage) xs.fromXML(xmlMsg); // 获取自定消息处理器,如果自定义处理器则使用默认处理器。 String handler = p.getProperty("MessageProcessingHandlerImpl"); if (handler == null) handler = defaultHandler; try { // 加载处理器 Class clazz = Class.forName(handler); MessageProcessingHandler processingHandler = (MessageProcessingHandler) clazz.newInstance(); // 取得消息类型 String type = msg.getMsgType(); Method mt = clazz.getMethod(type "TypeMsg", InMessage.class); oms = (OutMessage) mt.invoke(processingHandler, msg); if (oms == null) { oms = new TextOutMessage(); ((TextOutMessage) oms).setContent("系统错误!"); } setMsgInfo(oms,msg); } catch (Exception e) { logger.error(e); oms = new TextOutMessage(); ((TextOutMessage) oms).setContent("系统错误!"); try { setMsgInfo(oms,msg); } catch (Exception e1) { logger.error(e); } } // 把发送发送对象转换为xml输出 xs = XStreamFactory.init(true); xs.alias("xml", oms.getClass()); xs.alias("item", Articles.class); String xml = xs.toXML(oms); logger.debug("输出消息:[" xml "]"); response.getWriter().write(xml); } private void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { String signature = request.getParameter("signature");// 微信加密签名 String timestamp = request.getParameter("timestamp");// 时间戳 String nonce = request.getParameter("nonce");// 随机数 String echostr = request.getParameter("echostr");// // 验证 if (Tools.checkSignature(_token, signature, timestamp, nonce)) { response.getWriter().write(echostr); } } private void setMsgInfo(OutMessage oms,InMessage msg) throws Exception { // 设置发送信息 Class outMsg = oms.getClass().getSuperclass(); Field CreateTime = outMsg.getDeclaredField("CreateTime"); Field ToUserName = outMsg.getDeclaredField("ToUserName"); Field FromUserName = outMsg.getDeclaredField("FromUserName"); ToUserName.setAccessible(true); CreateTime.setAccessible(true); FromUserName.setAccessible(true); CreateTime.set(oms, new Date().getTime()); ToUserName.set(oms, msg.getFromUserName()); FromUserName.set(oms, msg.getToUserName()); } /** * 启动的时候加载wechat.properties配置 可以在过滤器配置wechat.properties路径 */ @Override public void init(FilterConfig config) throws ServletException { String cf = config.getInitParameter("conf"); if (cf != null) { conf = cf; } String classPath = this.getClass().getResource("/").getPath().replaceAll("%20", " "); conf = conf.replace("classPath:", classPath); p = new Properties(); File pfile = new File(conf); if (pfile.exists()) { try { p.load(new FileInputStream(pfile)); } catch (FileNotFoundException e) { logger.error("未找到wechat.properties", e); } catch (IOException e) { logger.error("wechat.properties读取异常", e); } } logger.info("WeChatFilter已经启动!"); }}
    2014-01-21下载
    积分:1
  • 移动APP外壳
    Android移动外壳程序,可以自由配置浏览器地址,就行网页页面手机浏览。
    2022-02-13 15:19:34下载
    积分:1
  • 696518资源总数
  • 104297会员总数
  • 29今日下载