10.20学习日记

今日看了https://github.com/BlueMor/DragLayout DragLayout的代码,把v4包去除,发现他使用了3个类

import android.support.v4.view.GestureDetectorCompat;
import android.support.v4.view.ViewCompat;
import android.support.v4.widget.ViewDragHelper;

其中GestureDetectorCompat是手势操作类,比系统的GestureDetector强大

ViewCompat内容不多,没细读

ViewDragHelper类可以多view进行炫丽的操作:http://blog.csdn.net/jianghejie123/article/details/39315319

其中该类有个实用的方法:

        //触摸点是否落在HeaderView上
        boolean isHeaderViewUnder = mDragHelper.isViewUnder(mHeaderView, (int)x, (int)y);

(来自YoutubeLayout)


2.viewholder新写法

 /**
 *  SparseArray这个类,优化过的存储integer和object键值对的hashmap
 *  只需静态调用get这个方法填入当前Adapter的 convertView 与 子控件的id,就可以实现复用。
 * @author Administrator
 *
 */

public class ViewHolder 
{
   
    @SuppressWarnings("unchecked")
    public static <T extends View> T get(View view, int id) 
   {
        SparseArray<View> viewHolder = (SparseArray<View>) view.getTag();
        if (viewHolder == null)
        {
            viewHolder = new SparseArray<View>();
            view.setTag(viewHolder);
        }
        View childView = viewHolder.get(id);
        if (childView == null) 
        {
            childView = view.findViewById(id);
            viewHolder.put(id, childView);
        }
        return (T) childView;
    }
看过之后,个人感觉不如之前的viewholder快

private static class ViewHolder {
TextView tvLetter;
TextView tvTitle;


public ViewHolder(View view) {
tvTitle = (TextView) view.findViewById(R.id.tv_city_name);
tvLetter = (TextView) view.findViewById(R.id.tv_city_index);
}
}

因为上面的viewholder使用了SparseArraynew了变量,还需要用到里面的方法执行获取view,会慢一些,至于新写法的优点,需要研究挖掘。



javascript中 == 和 ===的区别

==和java的等于符合相同

===是严格相等的意思,比==高级,还要比较类型是否相等


!=和!==的区别

!= 和java一样,!==也比较类型


phonegap是跨平台移动应用html5开发平台




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值