【www.bbyears.com--按钮特效】
因为百事查需要,需要制作这样的更多分页按钮,因为感觉新浪微博的更多分页按钮比较好,就尝试做了一下。
1、首先需要考虑布局,就是footer的布局,如下:
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"> android:orientation="vertical" android:layout_width="fill_parent"> android:layout_height="2.0dip" android:layout_width="fill_parent" /> android:orientation="horizontal" android:layout_centerVertical="true" android:layout_width="fill_parent" android:layout_height="60dip"> android:gravity="center" android:id="@id/tv_msg" android:text="更多" android:layout_width="fill_parent" android:layout_height="wrap_content"/> android:layout_gravity="center" android:orientation="horizontal" android:id="@+id/llloading" android:layout_width="fill_parent"> android:id="@id/footprogress" android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminateBehavior="repeat" style="?android:progressBarStyleSmallInverse" /> android:padding="2.0px" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="读取中" />
期中上面的一个@drawable/loadmore是一个选择器如下
xmlns:android="http://schemas.android.com/apk/res/android" > android:state_pressed="false" android:drawable="@drawable/listview_gradient" > android:state_pressed="true" android:drawable="@drawable/list_selector_background_pressed" >
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();
}
}
});
效果如下