Android ListView 有时候设置setDividerHeight无效的原因

今天在使用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));

 

你可能感兴趣的:(Android ListView 有时候设置setDividerHeight无效的原因)