/* * Copyright (C) 2015 Baidu, Inc. All Rights Reserved. */ package baidumapsdk.demo.indoorview; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.ColorFilter; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.RelativeLayout; /** * 楼层条View */ public class StripListView extends ListView { public StripListView(Context context) { super(context); initView(context); } public StripListView(Context context, AttributeSet attrs) { super(context, attrs); initView(context); } public StripListView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initView(context); } public void setStripAdapter(BaseAdapter adapter) { super.setAdapter(adapter); if (adapter.getCount() > 5) { View item = adapter.getView(0, null, this); item.measure(0, 0); layoutParam.height = (int) (5.5 * item.getMeasuredHeight()); requestLayout(); } } RelativeLayout.LayoutParams layoutParam; private void initView(Context context) { setId(0); setBackgroundColor(Color.parseColor("#FFFFFFFF")); setVisibility(View.GONE); setDividerHeight(0); setVerticalScrollBarEnabled(false); setScrollingCacheEnabled(false); setCacheColorHint(Color.TRANSPARENT); setCacheColorHint(0); setSelector(new Drawable() { @Override public void draw(Canvas canvas) { } @Override public void setAlpha(int alpha) { } @Override public void setColorFilter(ColorFilter cf) { } @Override public int getOpacity() { return 0; } }); layoutParam = new RelativeLayout.LayoutParams(150, ViewGroup.LayoutParams.WRAP_CONTENT); layoutParam.addRule(RelativeLayout.ALIGN_PARENT_LEFT); layoutParam.addRule(RelativeLayout.CENTER_IN_PARENT); layoutParam.setMargins(StripItem.dip2px(context, 20), 0, 0, 0); setLayoutParams(layoutParam); } }