这个系列准备了很久,由于项目比较紧,一直没时间写博客。
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);
时间: 2024-10-08 11:13:01