編輯:關於Android編程
最近需要實現一個城市列表的快速索引功能。類似於聯系人應用,根據姓名首字母快速索引功能。
要實現這個功能只需要解決兩個問題:列表‘特征’和分組首項進行關聯
for (int i = 0; i < mCitys.size(); i++) {
City city = mCitys.get(i);
String cityId = city.getId();
if(cityId == null || .equals(cityId)) continue;
String section = cityId.toUpperCase().substring(0, 1);
if(!indexMap.containsKey(section)){
indexMap.put(section, i);
}
}
快速索引的繪制
@Override
protected void onDraw(Canvas canvas) {
heightCenter = getMeasuredHeight()/2 - preHeight*WORDS.length/2;
for (int i = 0; i < WORDS.length; i++) {
canvas.drawText(String.valueOf(WORDS[i]), getMeasuredWidth()/2, preHeight
+ (i * preHeight) + heightCenter, mPaint);
}
super.onDraw(canvas);
}
public boolean onTouchEvent(MotionEvent event) {
int startY = (int) event.getY() - heightCenter;
int index = startY / preHeight;
if (index >= WORDS.length) {
index = WORDS.length - 1;
} else if (index < 0) {
index = 0;
}
if (event.getAction() == MotionEvent.ACTION_DOWN || event.getAction() == MotionEvent.ACTION_MOVE) {
int position = mSectionIndexter.getStartPositionOfSection(String.valueOf(WORDS[index]));
if (position == -1) {
return true;
}
mListView.setSelection(position);
}
return true;
}

自定義AvatarImageView滿足你所有頭像顯示需求
1.PorterDuffXfermode這是由Tomas Proter和 Tom Duff命名的圖像轉換模式,它有16個枚舉值來控制Canvas上 上下兩個圖層的交互(先
百度一鍵root怎麼獲取權限
百度一鍵root是一款很簡單清潔的軟件,很適合剛剛接觸root使用的群眾用。root就是讓你的獲取手機權限,然後處理一些手機系統本來無法處理的軟件,讓你的手
預防混水摸魚 Android自定義連接設備名
最近我家的Wi-Fi好像接入很多不明來歷的Android設備,可是進入路由器查看後,都是類似“androidXXXXX”的設備顯示的
Android白話啟動篇(Android booting process)
今天我們將深入Android的啟動流程,從用戶按下開機鍵到Android界面的過程。在谷歌上搜索“Android boot process”會得到