四:资讯列表实现(借助PullToRefres实现上拉和下拉刷新)
来源:互联网 发布:库存软件免费版 编辑:程序博客网 时间:2024/05/21 19:46
之前已经实现了ViewPager的整体框架,然后现在需要实现类NewsListFragment在其中填充资讯列表、新闻列表,总之就是个列表。在Material Design里面对列表的每一项长什么样子都是有比较完整的定义的,所以我们只需要知道列表项中有几行内容,显示不显示图片就可以了。这里每个列表项有一个主标题和一个副标题,不显示图片,于是得到的布局就是这个样子的:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="72dp" android:orientation="horizontal" android:gravity="center"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/text1" android:textColor="#87000000" android:textSize="16sp" android:layout_marginLeft="16dp" android:layout_marginRight="16dp" android:layout_marginBottom="2dp" android:singleLine="true" android:text="这个是新闻的标题" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/text2" android:textColor="#54000000" android:textSize="14sp" android:layout_marginLeft="16dp" android:layout_marginRight="16dp" android:layout_marginTop="2dp" android:singleLine="true" android:text="这个是新闻的副标题,作为副标题通常需要很长才不会被删掉"/> </LinearLayout></LinearLayout>实现listview的代码是这个样子的:
public class NewsListFragment extends Fragment { View view; int pid; ListView listview; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment_list,container,false); listview = (ListView) view.findViewById(R.id.list); List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); for(int i=0;i<20;i++){ Map<String, Object> map = new HashMap<String, Object>(); map.put("text1", "这个是新闻的题目"); map.put("text2", "新闻的副标题必须很长很长才能被显示出来,这里现在需要一只团子"); list.add(map); } SimpleAdapter adapter = new SimpleAdapter(getActivity(), list,R.layout.news_list_item, new String[] { "text1", "text2" }, new int[] { R.id.text1, R.id.text2 }); listview.setAdapter(adapter); return view; } public NewsListFragment(int pid){ this.pid = pid; }}实现之后的效果如图:
至于外面那一圈tab是在上一篇博客里面实现的,只是这样子不够,因为还需要实现一个上拉刷新和下拉刷新的功能。看上去非常高大上,其实只要导入一个叫做pulltorefresh的第三方库,然后把里面的ListView全都改成PullToRefreshListView就可以了。pulltorefresh的github地址是:https://github.com/chrisbanes/Android-PullToRefresh
0 0
- 四:资讯列表实现(借助PullToRefres实现上拉和下拉刷新) (下)
- 四:资讯列表实现(借助PullToRefres实现上拉和下拉刷新)
- UI实现之下拉刷新:SwipeRefreshLayout PullToRefres
- 不借助第三方插件利用ScrollView自身delegate实现下拉刷新和上拉加载
- Android自定义控件实现下拉列表刷新,上拉刷新
- Lua+wax实现列表上拉、下拉刷新
- android 实现有阻尼下拉/上拉刷新列表
- android 列表实现下拉刷新,上拉加载更多
- SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉刷新
- SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉刷新
- SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉刷新
- SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉刷新
- Android简单实现下拉刷新和上拉刷新
- SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉刷新
- SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉刷新
- SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉刷新
- SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉刷新
- SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉刷新
- CodeForces 609C Load Balancing
- 处理机调度
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
- POJ2104 —— K-th number
- Netty
- 四:资讯列表实现(借助PullToRefres实现上拉和下拉刷新)
- C文件的基本知识
- 通过分析 JDK 源代码研究 TreeMap 红黑树算法实现
- 基于OK6410的WIFI四驱小车(上)
- 系统相册访问
- ssss
- BZOJ2730——[HNOI2012]矿场搭建
- Linux 边角料(一)—— ./ 的含义
- Netty