今天在使用listiew的时候 通过代码设置divider的高度的时候发现无效,上网查了一下,在bdmh的博客中找到了问题
博客原文:Android败笔之ListView设置分割线颜色
原来是在代码setDivider的时候,会重新设置一边dividerHeight。
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();
所以在使用代码设置listview的divider的时候的正确是用顺序是
listView.setDivider(new ColorDrawable(Color.TRANSPARENT)); listView.setDividerHeight((int) getResources().getDimension(R.dimen.view_normal_margin));