Android基礎控制項使用細節——ListView,androidlistview
這個系列準備了很久,由於項目比較緊,一直沒時間寫部落格。
ListView是Android開發中使用比較廣泛的控制項了,這裡會結合實際開發中的問題,做一個匯總,並不斷更新補充,希望以後可以幫到更多需要的朋友!
有時候為了精簡代碼,不使用xml布局檔案了,直接setContentView(mListView);,這時就要用到代碼裡寫入程式碼設定ListView的樣式了,本人開發時遇到一個奇葩問題,給ListView設定分割線,沒有效果,擦,坑爹呢,找了好多資料,遇到這問題的不是我一個人,竟然沒人解決,有人甚至妥協了,使用了Xml檔案,這其實是Android代碼的問題,setDivider和setDividerHeight順序必須一前一後,顛倒了就不好使,忽然感覺自己的腦袋不夠用了哈。記住就行了!沒有辣麼多為神馬!
// 設定列表的樣式ListView mListView = (ListView) findViewById(R.id.mListView);mListView.setBackgroundColor(Color.parseColor("#F1F1F1"));mListView.setPadding(20, 20, 20, 20);mListView.setVerticalScrollBarEnabled(false);// Android敗筆:設定分割線顏色(這兩行代碼位置不能反置否則無效果)mListView.setDivider(new ColorDrawable(Color.TRANSPARENT));mListView.setDividerHeight(6);setContentView(mListView);
接著上一個ListView,再設定一個空介面(當List列表沒有資料時候顯示的溫馨提示),這裡需要ListView的Parent來添加了,當然可以不用xml,也可以寫入程式碼new出一個布局,由於我的項目裡要顯示特殊的圖片效果,只能仍痛割愛用了xml布局檔案。稍後我會寫一下xml完成ListView和EmptyView的範例程式碼。
// 設定列表為空白的顯示介面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("沒有相關的資料");mListView.setEmptyView(view);