2016-9-22

来源:互联网 发布:unity3d lua 开发 编辑:程序博客网 时间:2024/06/11 21:41

2016-9-22

1.SwipeRefreshLayout调用

//设置下拉出现小圆圈是否是缩放出现,出现的位置,最大的下拉位置mySwipeRefreshLayout.setProgressViewOffset(true, 50, 200);//设置下拉圆圈的大小,两个值 LARGE, DEFAULTmySwipeRefreshLayout.setSize(SwipeRefreshLayout.LARGE);// 设置下拉圆圈上的颜色mySwipeRefreshLayout.setColorSchemeResources(    android.R.color.holo_blue_bright,    android.R.color.holo_green_light,    android.R.color.holo_orange_light,    android.R.color.holo_red_light);// 通过 setEnabled(false) 禁用下拉刷新mySwipeRefreshLayout.setEnabled(false);// 设定下拉圆圈的背景mSwipeLayout.setProgressBackgroundColor(R.color.red);/* * 设置手势下拉刷新的监听 */mySwipeRefreshLayout.setOnRefreshListener(    new SwipeRefreshLayout.OnRefreshListener() {        @Override        public void onRefresh() {//刷新动画完成后回调此方法        }    });setRefreshing(false) 手动设置刷新动画完成setRefreshing(true) 手动设置刷新动画开始。

2.Android Butterknife Zelezny为ButterKnife生成代码的studio插件

3.listview tips

mListView.getChildAt(int position) position表示的是在当前屏幕显示区域中当前item的索引mListView.getChildCount()则表示当前屏幕显示区域中,总共有多少个itemAbsListView.OnScrollListener mOnScrollListener = new AbsListView.OnScrollListener() {      @Override      public void onScrollStateChanged(AbsListView view, int scrollState) {          //OnScrollListener.SCROLL_STATE_IDLE是当屏幕停止滚动时        //OnScrollListener.SCROLL_STATE_TOUCH_SCROLL是当用户在以触屏方式滚动屏幕并且手指仍然还在屏幕上时        //OnScrollListener.SCROLL_STATE_FLING是当用户由于之前划动屏幕并抬起手指,屏产生惯性滑动时    }      @Override      public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {         //第一个参数AbsListView view:是当前listview的对象        //第二个参数int firstVisibleItem:表示当前第一个可见的item在listview所有item中的索引,这里需要非常注意,        //firstVisibleItem与getChildAt(int position)中的参数position的意义不同,firstVisibleItem是指在整个ListView中        //的位置。而getChildAt(int position)中参数position传的是当前屏幕显示区域中item的索引,屏幕中第一个item的view可        //以通过getChildAt(0)得到。        //第三个参数int visibleItemCount:表示当前屏幕中可见的有几条item        //第四个参数int totalItemCount:表示当前listview总共有多少条item,得到的值与adapter.getCount()的值相同。         View firstChild = view.getChildAt(0);          if (firstChild == null) return;          int top = firstChild.getTop();          /**          * firstVisibleItem > mFirstPosition表示向下滑动一整个Item          * mFirstTop > top表示在当前这个item中滑动          */          isScrollDown = firstVisibleItem > mFirstPosition || mFirstTop > top;          mFirstTop = top;          mFirstPosition = firstVisibleItem;      }  };  

4.Gson无法解析null

Gson gson = GsonBuilder().registerTypeAdapterFactory(new NullStringToEmptyAdapterFactory()).create();public static class NullStringToEmptyAdapterFactory<T> implements TypeAdapterFactory {    public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {        Class<T> rawType = (Class<T>) type.getRawType();        if (rawType != String.class) {            return null;        }        return (TypeAdapter<T>) new StringAdapter();    }}public static class StringAdapter extends TypeAdapter<String> {    public String read(JsonReader reader) throws IOException {        if (reader.peek() == JsonToken.NULL) {            reader.nextNull();            return "";        }        return reader.nextString();    }    public void write(JsonWriter writer, String value) throws IOException {        if (value == null) {            writer.nullValue();            return;        }        writer.value(value);    }}
0 0
原创粉丝点击