【学习笔记】"ListView滑动删除 ,仿腾讯QQ"(一)

今天看了“鸿祥_”大神的写的“ListView滑动删除,仿腾讯QQ” 。大神果然是大神,第一篇文章,我就看不懂,好多知识需要学习。

1.  文中的一个声明:private LayoutInflater mInflater;

什么是LayoutInflater?

答:主要参考了这篇文章

Android LayoutInflater详解

在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。

具体作用:

1、对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来载入;

2、对于一个已经载入的界面,就可以使用Activiyt.findViewById()方法来获得其中的界面元素。

2.文中的一个方法:touchSlop = ViewConfiguration.get(context).getScaledTouchSlop();

touchSlop是指用户滑动的最小距离

touchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
//是一个距离,表示滑动的时候,手的移动要大于这个距离才开始移动控件。

3.文中的一个实例化:

  1. mPopupWindow = new PopupWindow(view,
  2. LinearLayout.LayoutParams.WRAP_CONTENT,
  3. LinearLayout.LayoutParams.WRAP_CONTENT);

关于PopupWindow的说明:

Android的对话框有两种:PopupWindow和AlertDialog。它们的不同点在于:AlertDialog的位置固定,而PopupWindow的位置可以随意。

PopupWindow的一种构造方法:public
PopupWindow(View contentView, int width, int height)

其中,contentView为要显示的view,width和height为宽和高,值为像素值。

4.获取mPopupWindow的宽和高

需要先调用以下measure,然后再获取。不管程序看起来很怪,不利于理解。

  1. /**
  2. * 先调用下measure,否则拿不到宽和高
  3. */
  4. mPopupWindow.getContentView().measure(0, 0);
  5. mPopupWindowHeight = mPopupWindow.getContentView().getMeasuredHeight();
  6. mPopupWindowWidth = mPopupWindow.getContentView().getMeasuredWidth();

OK,先学这么,我得消化消化。

时间: 2024-10-16 10:45:07

【学习笔记】"ListView滑动删除 ,仿腾讯QQ"(一)的相关文章

【学习笔记】"ListView滑动删除 ,仿腾讯QQ"(二)

今天继续学习"鸿祥_"大神的写的"ListView滑动删除,仿腾讯QQ" . 1.关于dispatchTouchEvent 之前,只用过onTouchEvent,现在才知道一个Touch事件居然如此复杂.OK,集中精力,且看下文(本段内容主要参考Android dispatchTouchEvent介绍): 一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_

【学习笔记】"ListView滑动删除 ,仿腾讯QQ"(三)

今天继续学习"鸿祥_"大神的写的"ListView滑动删除,仿腾讯QQ" . 今天,我准备学习并理清QQListView的逻辑. 1.自定义ListView 先看看布局文件activity_main.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.c

Android 结合滑动控件ListView滑动删除

一转眼就15年了,希望大家15年升职加薪走上人生巅峰 这篇博客是结合上一篇ListView滑动删除之Viewgroup打造滑动控件(修正版)博客所完成的,先上个效果图吧. 其实实现起来并不复杂 1,解决滑动冲突 因为我们的自定义滑动控件和ListView本身的滑动事件会产生各种冲突,所以我们可以自定义ListView并重写onInterceptTouchEvent方法. 我们先来了解一下android事件的分发,当用户触摸屏幕时会先去调用ViewGroup的dispatchTouchEvent方

[Android学习笔记]ListView中含有Button导致无法响应onItemClick回调的解决办法

转自:http://www.cnblogs.com/eyu8874521/archive/2012/10/17/2727882.html 问题描述: 当ListView的Item中的控件只是一些展示类控件时(比如TextView),注册ListView的监听setOnItemClickListener之后,当点击Item时候会触发onItemClick回调. 但是,当Item中存在Button(继承于Button)的控件时,onItemClick回调不会被触发. 解决方案: 在Item的布局文件

实现listview滑动删除功能_Android源码

实现listview滑动删除功能,动作流畅. 下载地址:http://www.devstore.cn/code/info/579.html

Android ListView滑动删除及响应事件详解

目标:实现类似QQ,微信的消息列表滑动删除 具体操作: 1. 主页面布局 首先在布局文件(本例是activity_main.xml)中引入ListView控件,并指定id(如下代码中黑体部分). <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" andr

【安卓笔记】滑动删除示例

本文将使用上篇文章介绍的Scroller类来完成一个比较常见的效果--滑动删除效果. 代码如下: simpleSwipeListView: package cn.edu.chd.simpleswipelistview; import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; import android.v

Scroller应用:ListView滑动删除

1.设计思路 在Scroller的应用--滑屏实现中使用Scroller实现滑屏效果,这里使用Scroller与ListView实现类似QQ滑动,然后点击删除功能,设计思路是Item使用Scroller实现滑动,ListView根据触摸判断是横向滑动还是竖直滑动,关于点击事件处理思路:对于View的onClick事件跟平常一样,里面针对OnItemClick做了处理,判断触摸距离来判断,如果小于5的话,在Item的onTouchEvent方法中的MotionEvent.ACTION_UP里面返回

技术笔记:Indy IdSMTP支持腾讯QQ邮箱邮件发送

1.腾讯QQ邮箱的授权码问题 因为腾讯邮箱折腾了个底朝天,其要搞什么授权码登录第三方客户端,否则会报这个错误: 'Error: 请使用授权码登录.详情请看: http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256' 按照腾讯的链接去做了设置,申请了授权码,再发送就好了. 就这个设置前所未见,客户成本挺高的,不知道哪来的勇气. 2.腾讯QQ邮箱的SSL要求 用自己的邮箱左测右测还是可以了,挺开心