說在前面
很多APP都有熱門排行熱門搜索什么的译断,這個時候可能需要用到標簽唁奢,也就是流式布局,而還有可能用到的就是搜索歷史記錄竞慢,這種一般都是使用listview展示落蝙。但是织狐,相當有可能是反過來的UI展示效果,熱門排行用listview,歷史記錄使用流式標簽筏勒。所以這里給出相結合的Demo實例以及說明移迫。
上代碼!FlowLayout-SearchHistory
FlowLayout流式標簽
使用了繼承至ViewGroup的自定義控件管行,數(shù)據(jù)載入方式為String數(shù)組厨埋。此自定義控件可以直接使用。
private void initData() {
for (int i = 0; i < datas.length; i++) {
TextView tv = (TextView) mInflater.inflate(
R.layout.search_label_tv, mFlowLayout, false);
tv.setText(datas[i]);
final String str = tv.getText().toString();
//點擊事件
tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//加入搜索歷史紀錄記錄
Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show();
}
});
mFlowLayout.addView(tv);
}
}
標簽的展示樣式可以通過Demo里面的search_label_tv布局去自定義修改捐顷,這里的邏輯并不麻煩揽咕,詳細代碼查看demo代碼悲酷。
插播一個效果圖:
插播一個效果圖
SearchHistory搜索歷史
使用SharedPreferences記錄搜索歷史。
主要的方法如下:
public void initSearchHistory() {}//初始化
public void save() {}//儲存
public void cleanHistory() {}//清除
Demo里面為了代碼邏輯的清晰亲善,將歷史記錄的控件都與流式標簽分離了设易,通常是放在一起的。另外蛹头,SharedPreferences也可以單獨封裝方法提供直接調用顿肺,只要能儲存,怎么利索怎么寫渣蜗。
好像就這么點東西屠尊,沒啥可以寫的。耕拷。讼昆。
最后
Demo里面的代碼量本身也不大,主要是供新手朋友們參考骚烧,也算是自己記錄一下這些可以單獨抽離出來的小東西浸赫。
上代碼!FlowLayout-SearchHistory
【UI篇】擴展閱讀
《Android APP可能有的東西》之UI篇:加入購物車動畫
《Android APP可能有的東西》之UI篇:日夜間模式切換
《Android APP可能有的東西》之UI篇:展開TextView全文
本文作者:paradoxie
個人主頁:謝盒盒的小黑屋赃绊,不止說技術
簡書地址:簡書主頁既峡,專注說技術
github地址:paradoxie
轉載請注明出處,蟹蟹!
-------我的夢想真的是做一條咸魚碧查!