这一系列博文都是:(android高仿系列)今日头条 --新闻阅读器 (一)

开发中碰到问题之后实现的,觉得可能有的开发者用的到或则希望独立成一个小功能DEMO,所以就放出来这么一个DEMO。

原本觉得是最后完成后发网站客户端的,可是这样体现不出一个功能一个功能的分析实现效果,而且周期时间长,所以就完成一部分,发一部分,敬请谅解。

下面的菜单弹出效果在很多的新闻阅读器上都有,比如今日头条、360新闻等。下

其实这个实现起来很简单,看其效果,其实就是一个PopupWindow,之后设定相应postion的按钮点击属性,之后获取按钮的位置,给它设置动画显示消失就可以出现了。

下面看看代码的思路:

由于整体是一个LISTVIEW,所以我把点击的事件写到了对应的Adapter适配器中。

public class MyAdapter extends BaseAdapter {LayoutInflater inflater = null;Activity activity;ArrayList<News> newslist;private PopupWindow popupWindow;public MyAdapter(Activity activity, ArrayList<News> newslist) {this.activity = activity;this.newslist = newslist;inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);initPopWindow();}@Overridepublic int getCount() {return newslist != null ? newslist.size() : 0;}@Overridepublic News getItem(int position) {if (newslist != null && newslist.size() != 0) {return newslist.get(position);}return null;}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(final int position, View convertView, ViewGroup parent) {View vi = convertView;final ViewHolder holder;if (vi == null) {vi = inflater.inflate(R.layout.listview_item, null);holder = new ViewHolder();holder.item_title = (TextView) vi.findViewById(R.id.item_title);holder.item_content = (TextView) vi.findViewById(R.id.item_content);holder.button_showpop = (ImageView) vi.findViewById(R.id.button_showpop);vi.setTag(holder);} else {holder = (ViewHolder) vi.getTag();}News news = getItem(position);holder.item_title.setText(news.getTitle());holder.item_content.setText(news.getContent());holder.button_showpop .setOnClickListener(new popAction(position));return vi;}public class ViewHolder {TextView item_title;TextView item_content;ImageView button_showpop;}/** * 初始化popWindow* */private void initPopWindow() {View popView = inflater.inflate(R.layout.listview_pop, null);popupWindow = new PopupWindow(popView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);popupWindow.setBackgroundDrawable(new ColorDrawable(0));//设置popwindow出现和消失动画
        popupWindow.setAnimationStyle(R.style.PopMenuAnimation);btn_pop_close = (ImageView) popView.findViewById(R.id.btn_pop_close);}/** popWindow 关闭按钮 */private ImageView btn_pop_close;/** * 显示popWindow* */public void showPop(View parent, int x, int y,int postion) {//设置popwindow显示位置popupWindow.showAtLocation(parent, 0, x, y);//获取popwindow焦点popupWindow.setFocusable(true);//设置popwindow如果点击外面区域,便关闭。popupWindow.setOutsideTouchable(true);popupWindow.update();if (popupWindow.isShowing()) {}btn_pop_close.setOnClickListener(new OnClickListener() {public void onClick(View paramView) {popupWindow.dismiss();}});}/** * 每个ITEM中more按钮对应的点击动作* */public class popAction implements OnClickListener{int position;public popAction(int position){this.position = position;}@Overridepublic void onClick(View v) {int[] arrayOfInt = new int[2];//获取点击按钮的坐标
            v.getLocationOnScreen(arrayOfInt);int x = arrayOfInt[0];int y = arrayOfInt[1];showPop(v, x , y, position);}}
}

就这么多的内容,很简单,日后碰到这类相关的效果,也就不用怕了。

下面是我经过上述代码实现的效果:

下面放上该效果源码DEMO的下载地址:下载地址

转载于:https://www.cnblogs.com/zhujiabin/p/8144771.html

Android 仿 新闻阅读器 菜单弹出效果(附源码DEMO)相关推荐

  1. android实现阅读器底部菜单,android仿新闻阅读器菜单弹出效果实例(附源码DEMO下载)...

    开发中碰到问题之后实现的,觉得可能有的开发者用的到或则希望独立成一个小功能DEMO,所以就放出来这么一个DEMO. 原本觉得是最后完成后发网站客户端的,可是这样体现不出一个功能一个功能的分析实现效果, ...

  2. android 微博底部弹出,Android实现微博菜单弹出效果

    Android实现微博菜单弹出效果 发布时间:2020-08-23 07:48:12 来源:脚本之家 阅读:89 作者:gqdy365 先上Android仿微博菜单弹出效果图,这个截图不是很流畅,大家 ...

  3. php jquery ajax登录,jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)

    弹出层主要用于展示丰富的页面信息,还有一个更好的应用是弹出表单层丰富交互应用.常见的应用有弹出登录表单层,用户提交登录信息,后台验证登录成功后,弹出层消失,主页面局部刷新用户信息.本文我们将给大家介绍 ...

  4. 3 css 奖品出现弹出动画_基于jquery css3实现点击动画弹出表单源码特效

    下图给大家展示了使用jquery css实现的点击动画弹出表单源码,有上传表单.删除表单.发送评论表单,都是通过鼠标点击图标按钮动画弹出的表单源码特效. 效果图展示如下: html代码: 上传 选择文 ...

  5. Android列表收缩与展开仿QQ好友列表(非常详细,附源码)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka ExpandableListView是一个垂直滚动显示两级列表项的视图,与ListView不同 ...

  6. html实现视频网站,仿爱奇艺,搜狐,迅雷看看(附源码)

    文章目录 1.功能模板 1.1 仿爱奇艺 1.2 仿搜狐视频 1.3 仿迅雷看看 1.4 视频播放 1.5 影视公司官网 2.效果和源码 2.1 源代码 2.2 模板目录 源码下载 作者:xcLeig ...

  7. android studio菜单自动弹出,Android实现微博菜单弹出效果

    先上Android仿微博菜单弹出效果图,这个截图不是很流畅,大家可以下载apk试一下. 说一下实现思路: 1.截取当前窗口,对图片做高斯模糊处理,将处理后的图片做popupwindow的背景图片: 2 ...

  8. Android IT新闻阅读器与手机二维码

    首先,这是一篇随笔而不是技术文章. 事情发生在一个月前,当时我苦于在路上了解不到及时的IT行业新闻,在一次偶然的机会在android手机上安装了Javaeye的新闻阅读器,有了新闻来源后,对行业中的一 ...

  9. Android仿IOS封装通用的弹出框Dialog和底部弹出列表选择框 仿美团顶部条件筛选框 附自定义ViewGroup

    弹出框 背景 提示与询问弹出框 实现 使用 列表选择框 实现 使用 顶部条件筛选框 实现 自定义ViewGroup 使用 总结 背景 鉴于Android提供的默认弹出框很一般,IOS的弹出框样式还不错 ...

最新文章

  1. 移动端取消button点击出现阴影效果
  2. 算法每日学打卡:java语言基础题目打卡(01-10)
  3. ActiveMQ;RabbitMQ;ZeroMQ
  4. android menuitem 字体颜色,安卓更改Menu的字体颜色(使用actionLayout,适用于多个fragment)...
  5. springmvc 监听器getWriter() has already been called for this response问题
  6. linux磁盘阵列扩容,linux raid1扩容的方法
  7. 在c语言中realloc_C和C ++编程中的realloc()
  8. GraphQL教程(三) .net core api
  9. 5.7.2.4 random() 方法
  10. springmvc配置拦截器及测试详解
  11. 《Linux操作系统-系统移植》第4章 内核移植(IMX283+Linux3.14)
  12. 贝壳云php源码,贝壳云P1 刷机指南
  13. python 完全背包问题_python背包问题
  14. 移动光猫怎么设置虚拟服务器设置,移动光纤猫如何设置,怎样连接和设置光猫和路由器...
  15. 阿里巴巴普惠_打造产业互联网合作新生态 中信集团与阿里巴巴集团、蚂蚁集团达成全面战略合作...
  16. 程序员之路:Gmail邮箱客户端配置_彭世瑜_新浪博客
  17. ヴィアッカ / 风锤
  18. 星河万里 一路“童”行
  19. 干货 :7招帮你打造完美数据科学GitHub作品集!
  20. 我是一个创业者,也是一个开发者!

热门文章

  1. MyBatis Plus EntityWarpper参数的介绍
  2. swagger中参数为数组dataType的设置
  3. yum更新指定的软件
  4. 两个MYSQL数据同步的SHELL脚本
  5. 实现option上下移动_ES6原生实战Uploader工具类(从设计到实现)
  6. 【CQOI2017】小Q的表格
  7. mybatis传多个参数实例
  8. python大法之二-一些基础(一)
  9. 刷程序对车危害_刷ecu对车有影响吗?会伤车吗?
  10. 【HISI系列】之H264/H265/JPEG切帧方法