Android ApiDemos示例解析(176):Views->Lists->9. Array (Overlay)

本例和前面例子Android ApiDemos示例解析(168):Views->Lists->1. Array 非常类似,显示一个Cheese数组,列表是按字母顺序排列的。对于长例表,在滚动时可以在屏幕上显示当前显示列表项的首字母以便于用户在列表中搜索。

本例是通过在屏幕中央显示一个文本框来实现的,通过WindowManager 为ListActivity缺省的窗口动态添加这个TextView.和大都数Android服务一样,WindowManager也是通过getSystemService来获取服务对象:

mWindowManager = (WindowManager)getSystemService(Context.WINDOW_SERVICE);

为ListView 添加Scroll 事件处理:

getListView().setOnScrollListener(this);

public void onScroll(AbsListView view, int firstVisibleItem,
 int visibleItemCount, int totalItemCount) {
 int lastItem = firstVisibleItem + visibleItemCount - 1;
 if (mReady) {
 char firstLetter = mStrings[firstVisibleItem].charAt(0);

 if (!mShowing && firstLetter != mPrevLetter) {

 mShowing = true;
 mDialogText.setVisibility(View.VISIBLE);


 }
 mDialogText.setText(((Character)firstLetter).toString());
 mHandler.removeCallbacks(mRemoveWindow);
 mHandler.postDelayed(mRemoveWindow, 3000);
 mPrevLetter = firstLetter;
 }
}

通过mHandler 在UI线程中发送消息,Android 系统Handler用法简介

Android 系统Handler用法简介

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值