仿sina微博的listview更多分页按钮

因为百事查需要,需要制作这样的更多分页按钮,因为感觉新浪微博的更多分页按钮比较好,就尝试做了一下。
1、首先需要考虑布局,就是footer的布局,如下:

 代码如下 复制代码

<?xml version="1.0" encoding="UTF-8"?>

<LinearLayout android:layout_width="fill_parent" android:orientation="vertical"

android:layout_height="wrap_content" android:focusable="true"

xmlns:android="http://schemas.android.com/apk/res/android"

android:background="@drawable/loadmore" android:layout_centerVertical="true"

android:layout_centerHorizontal="true">

<!--

<Button android:id="@+id/loadMoreButton"

android:layout_width="fill_parent"

android:layout_height="wrap_content" android:text="更多" />

-->

<LinearLayout android:gravity="center" android:layout_height="wrap_content"

android:orientation="vertical" android:layout_width="fill_parent">

<ImageView android:background="@drawable/divider"

android:layout_height="2.0dip" android:layout_width="fill_parent" />

</LinearLayout>

<LinearLayout android:gravity="center" android:layout_gravity="center"

android:orientation="horizontal" android:layout_centerVertical="true"

android:layout_width="fill_parent" android:layout_height="60dip">

<TextView android:textSize="20.0sp" android:textColor="#ff545454"

android:gravity="center" android:id="@id/tv_msg" android:text="更多"

android:layout_width="fill_parent" android:layout_height="wrap_content"/>

<LinearLayout android:gravity="center" android:layout_height="wrap_content"

android:layout_gravity="center" android:orientation="horizontal"

android:id="@+id/llloading" android:layout_width="fill_parent">

<ProgressBar android:layout_gravity="center_vertical"

android:id="@id/footprogress" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:indeterminateBehavior="repeat"

style="?android:progressBarStyleSmallInverse" />

<TextView android:textColor="#ff000000" android:gravity="left|center"

android:padding="2.0px" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:text="读取中" />

</LinearLayout>

</LinearLayout>

</LinearLayout>
期中上面的一个@drawable/loadmore是一个选择器如下

<?xml version="1.0" encoding="utf-8"?>

<selector

xmlns:android="http://schemas.android.com/apk/res/android"

>

<item

android:state_pressed="false"

android:drawable="@drawable/listview_gradient"

>

</item>

<item

android:state_pressed="true"

android:drawable="@drawable/list_selector_background_pressed"

>

</item>

</selector>其中list_selector_background_pressed系统带的一个按钮在listview源代码中可以找到或sdk中也有

2、同时加载footer布局

list_footer = (LinearLayout)LayoutInflater.from(FansActivity.this).inflate(R.layout.sinalist_footer, null);

tv_msg = (TextView)list_footer.findViewById(R.id.tv_msg);

loading = (LinearLayout)list_footer.findViewById(R.id.llloading);

//btloadmore = (Button)list_footer.findViewById(R.id.loadMoreButton);

listView = getListView();

top_panel = (View)findViewById(R.id.fans_top);

top_btn_left = (Button)top_panel.findViewById(R.id.top_btn_left);

top_btn_right = (Button)top_panel.findViewById(R.id.top_btn_right);

top_title = (TextView)top_panel.findViewById(R.id.top_title);

listView.addFooterView(list_footer, null, false);//利用FooterVIew分页动态加载,参数false是不让选择
3、list_footer中增加按钮事件如下

list_footer.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

try {

// Toast.makeText(FansActivity.this, "我将消失了",

// Toast.LENGTH_SHORT).show();

//list_footer.setBackgroundColor(Color.YELLOW);

//list_footer.invalidate();

new FansThread().start();

//tv_msg.setEnabled(false);

tv_msg.setVisibility(View.GONE);// 隐藏更多提示的TextView

loading.setVisibility(View.VISIBLE);// 显示最下方的进度条

} catch (Exception e) {

e.printStackTrace();

}

}

});

效果如下

时间: 2025-01-30 12:40:45

仿sina微博的listview更多分页按钮的相关文章

listView下拉刷新(仿sina微博Android客户端效果)

  这个下拉效果在网上最早的例子恐怕就是Johan Nilsson的实现,http://johannilsson.com/2011/03/13/android-pull-to-refresh-update.html.       后面的很多例子应该都是仿照这个写的,下面的这个例子就是对这个例子的修改,先看下一个点击的效果,我看到其他的分析博客里面没有谈到这一点,在这个代码中,我们一直看到是listview的第二项,而listview的第一项被遮挡了起来,滑动至第一项:        点击头条,头

基于JS分页控件实现简单美观仿淘宝分页按钮效果_javascript技巧

最新版本代码请移步到https://github.com/pgkk/kkpager 在线测试链接:http://pgkk.github.io/kkpager/example/pager_test.html 分页按钮思想: 1.少于9页,全部显示 2.大于9页,1.2页显示,中间页码当前页为中心,前后各留两个页码 附件中有完整例子的压缩包下载.已更新到最新版本 先看效果图: 01输入框焦点效果 02效果 模仿淘宝的分页按钮效果控件kkpager JS代码: Js代码 var kkpager = {

点击按钮自动加关注的代码(sina微博/QQ空间/人人网/腾讯微博)_javascript技巧

sina微博:<iframe width="120" height="24" frameborder="0" allowtransparency="true" marginwidth="0" marginheight="0" scrolling="no" border="0" src="http://widget.weibo.com

Android中ListView如何分页加载数据_Android

熟悉Android的朋友们都知道,不管是微博客户端还是新闻客户端,都离不开列表组件,可以说列表组件是Android数据展现方面最重要的组件,我们今天就要讲一讲列表组件ListView加载数据的相关内容.通常来说,一个应用在展现大量数据时,不会将全部的可用数据都呈现给用户,因为这不管对于服务端还是客户端来说都是不小的压力,因此,很多应用都是采用分批次加载的形式来获取用户所需的数据.比如:微博客户端可能会在用户滑动至列表底端时自动加载下一页数据,也可能在底部放置一个"加载更多"按钮,用户点

Android使用listview实现分页刷新(线程休眠模拟)_Android

当要显示的数据过多时,为了更好的提升用户感知,在很多APP中都会使用分页刷新显示,比如浏览新闻,向下滑动到当前ListView的最后一条信息(item)时,会提示刷新加载,然后加载更新后的内容.此过程大致分以下几步: 1.当前Activity implements OnScallListenner: 2.实现接口的方法: 3.ListView注册滚动监听: 4. Adapter(自定义或者安卓自带)为每个item填充数据: 5.获得第二页以后的数据后,adater增加数据并刷新notifyDat

Android应用中使用ListView来分页显示刷新的内容_Android

点击按钮刷新1.效果如下: 实例如下:  上图的添加数据按钮可以换成一个进度条  因为没有数据所以我加了一个按钮添加到数据库用于测试:一般在服务器拉去数据需要一定的时间,所以可以弄个进度条来提示用户: 点击加载按钮的时候,向数据库读取一次数据,把读取的数据追加到原来的数据集中:然后显示出来 package com.exampleandroid.xiong.listviewpages; public class News { private String title; private int id

android 的gridview如何把最后一个item固定做一个添加更多的按钮

问题描述 android 的gridview如何把最后一个item固定做一个添加更多的按钮 添加更多按钮添加一个给添加更多加一个,大神知道的给我发280230816@qq.con邮箱里 谢谢!!!!!!!!!! 解决方案 加载footerview中 在listView.addFooterView(更多按钮); 解决方案二: 说详细点可以吗?,我是新手. 解决方案三: 说详细点可以吗?,我是新手. 解决方案四: public View getView(int position, View conv

谈sina微博发布环节的交互

使用sina微博已经半年多时间了,由于其用户资源优势,笔者一直坚持在sina发微,但同时也一直忍受着它问题重重的用户体验设计.最近做了一些小总结,希望与大家分享,同时希望sina能尽快改进其微博页面(PC端)的用户体验. 关于微博发布 一 公开?私密? google+的推出,在SNS领域使"圈子"的概念变成热点.微博的瞬间覆盖特性的确炙手可热,但是人们越来越发现,当自身已经被微博黏住的时候,就会习惯性的把曾经在"qq签名"."人人状态".&quo

Android Listview中Button按钮点击事件冲突解决办法

  今天做项目时,ListView中含有了Button组件,心里一早就知道肯定会有冲突,因为以前就遇到过,并解决过,可惜当时没有记录下来. 今天在做的时候,继续被这个问题郁闷了一把,后来解决后,赶紧来记录下,以便日后参考.      首先,其实Listview中Button按钮点击事件冲突这种问题压根就不是太大的问题,因为我们完全可以将一个TextView的Backgroud设置成一个selector,也可以将一个TextView设计成一个按钮的样子,这样就可以绕过ListView和Button