package com.cheikh.lazywaimai.widget.section;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import com.cheikh.lazywaimai.R;
import com.cheikh.lazywaimai.util.DensityUtil;
public class SectionListView extends LinearLayout {
public SectionListView(Context context) {
this(context, null);
}
public SectionListView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public SectionListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setOrientation(VERTICAL);
setBackgroundResource(R.drawable.bg_section_list);
int padding = DensityUtil.dip2px(context, 1.0f);
setPadding(0, padding, 0, padding);
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
hideLastItemLine(getChildCount());
}
public void refresh() {
int childCount = getChildCount();
if (childCount > 0) {
int visibleChildCount = 0;
for (int i = 0; i < childCount; i++) {
RelativeLayout itemView = (RelativeLayout) getChildAt(i);
View divider = itemView.findViewById(R.id.divider);
if (divider != null) {
divider.setVisibility(VISIBLE);
}
if (itemView.getVisibility() != GONE) {
visibleChildCount++;
}
}
hideLastItemLine(visibleChildCount);
}
}
private void hideLastItemLine(int count) {
if (count > 0) {
View lastChildView = getChildAt(count - 1);
View divider = lastChildView.findViewById(R.id.divider);
if (divider != null) {
divider.setVisibility(GONE);
}
}
}
}