ListView分割线颜色不显示

来源:互联网 发布:3只装 mac子弹头 试色 编辑:程序博客网 时间:2024/04/28 02:02
listView.setDivider(new ColorDrawable(Color.GRAY));  listView.setDividerHeight(1);

必须按照这个顺序写,否则不会显示出来。
源码如下:

public void setDivider(Drawable divider) {      if (divider != null) {          mDividerHeight = divider.getIntrinsicHeight();      } else {          mDividerHeight = 0;      }      mDivider = divider;      mDividerIsOpaque = divider == null || divider.getOpacity() == PixelFormat.OPAQUE;      requestLayout();      invalidate();  }  ...public int getIntrinsicHeight() {      return -1;  }  

如果setDivider(Drawable divider)参数不为空,要获取一个内部默认的高度,顺着源码看进去才发现 默认高度是-1,什么?!竟然是-1,-1单位的高度若显示就活见鬼了。干脆紧接着再手动设置一个高度吧,跳出满满的套路成功!

listView.setDivider(new ColorDrawable(Color.GRAY));  listView.setDividerHeight(1);
原创粉丝点击