Android基礎控件使用細節——ListView - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 技術分享 >

Android基礎控件使用細節——ListView

發表時(shí)間:2021-1-4

發布人(rén):融晨科技

浏覽次數:47


這(zhè)個(gè)系列準備了(le/liǎo)很久,由于(yú)項目比較緊,一直沒時(shí)間寫博客。
ListView是(shì)Android開發中使用比較廣泛的(de)控件了(le/liǎo),這(zhè)裏會結合實際開發中的(de)問題,做一個(gè)彙總,并不(bù)斷更新補充,希望以(yǐ)後可以(yǐ)幫到(dào)更多需要(yào / yāo)的(de)朋友!
有時(shí)候爲(wéi / wèi)了(le/liǎo)精簡代碼,不(bù)使用xml布局文件了(le/liǎo),直接setContentView(mListView);,這(zhè)時(shí)就(jiù)要(yào / yāo)用到(dào)代碼裏硬編碼設置ListView的(de)樣式了(le/liǎo),本人(rén)開發時(shí)遇到(dào)一個(gè)奇葩問題,給ListView設置分割線,沒有效果,擦,坑爹呢,找了(le/liǎo)好多資料,遇到(dào)這(zhè)問題的(de)不(bù)是(shì)我一個(gè)人(rén),竟然沒人(rén)解決,有人(rén)甚至妥協了(le/liǎo),使用了(le/liǎo)Xml文件,這(zhè)其實是(shì)Android代碼的(de)問題,setDivider和(hé / huò)setDividerHeight順序必須一前一後,颠倒了(le/liǎo)就(jiù)不(bù)好使,忽然感覺自己的(de)腦袋不(bù)夠用了(le/liǎo)哈。記住就(jiù)行了(le/liǎo)!沒有辣麽多爲(wéi / wèi)神馬!
// 設置列表的(de)樣式
ListView mListView = (ListView) findViewById(R.id.mListView);
mListView.setBackgroundColor(Color.parseColor("#F1F1F1"));
mListView.setPadding(20, 20, 20, 20);
mListView.setVerticalScrollBarEnabled(false);
// Android敗筆:設置分割線顔色(這(zhè)兩行代碼位置不(bù)能反置否則無效果)
mListView.setDivider(new ColorDrawable(Color.TRANSPARENT));
mListView.setDividerHeight(6);
setContentView(mListView);

接着上(shàng)一個(gè)ListView,再設置一個(gè)空界面(當List列表沒有數據時(shí)候顯示的(de)溫馨提示),這(zhè)裏需要(yào / yāo)ListView的(de)Parent來(lái)添加了(le/liǎo),當然可以(yǐ)不(bù)用xml,也(yě)可以(yǐ)硬編碼new出(chū)一個(gè)布局,由于(yú)我的(de)項目裏要(yào / yāo)顯示特殊的(de)圖片效果,隻能仍痛割愛用了(le/liǎo)xml布局文件。稍後我會寫一下xml完成ListView和(hé / huò)EmptyView的(de)示例代碼。
// 設置列表爲(wéi / wèi)空的(de)顯示界面
LayoutInflater inflater = LayoutInflater.from(mContext);
View view = inflater.inflate(R.layout.layout_empty, null);
((ViewGroup) mListView.getParent()).addView(view);
ImageView empImg = (ImageView) findViewById(R.id.empImg);
TextView empTip = (TextView) findViewById(R.id.empTip);
empImg.setImageResource(R.drawable.ic_logo_empty);
empTip.setText("沒有相關的(de)數據");
mListView.setEmptyView(view);

相關案例查看更多