自定义listview
来源:互联网 发布:qq2012透明皮肤软件 编辑:程序博客网 时间:2024/06/05 18:17
public class BuddyListView extends ListView { public BuddyListView(Context context) { super(context); } public BuddyListView(Context context, AttributeSet attrs) { super(context, attrs); } public BuddyListView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @TargetApi(Build.VERSION_CODES.LOLLIPOP) public BuddyListView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { heightMeasureSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, heightMeasureSpec); }}
该自定义view作为expandablelistview 的header,跟着滑动
自定义圆形图片
public class RoundRectImageView extends ImageView { private Paint paint; public RoundRectImageView(Context context) { this(context,null); } public RoundRectImageView(Context context, AttributeSet attrs) { this(context, attrs,0); } public RoundRectImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); paint = new Paint(); } /** * 绘制圆角矩形图片 * @author caizhiming */ @Override protected void onDraw(Canvas canvas) { Drawable drawable = getDrawable(); if (null != drawable) { Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap(); Bitmap b = getRoundBitmap(bitmap, 3); final Rect rectSrc = new Rect(0, 0, b.getWidth(), b.getHeight()); final Rect rectDest = new Rect(0,0,getWidth(),getHeight()); paint.reset(); canvas.drawBitmap(b, rectSrc, rectDest, paint); } else { super.onDraw(canvas); } } /** * 获取圆角矩形图片方法 * @param bitmap * @param roundPx,一般设置成14 * @return Bitmap * @author caizhiming */ private Bitmap getRoundBitmap(Bitmap bitmap, int roundPx) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(output); final int color = 0xff424242; final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); final RectF rectF = new RectF(rect); paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); int x = bitmap.getWidth(); canvas.drawRoundRect(rectF, roundPx, roundPx, paint); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); canvas.drawBitmap(bitmap, rect, rect, paint); return output; }}
阅读全文
0 0
- 自定义 ListView
- 自定义ListView
- 自定义listview
- 自定义LISTVIEW
- 自定义ListView
- 自定义listview
- 自定义listview
- 自定义ListView
- 自定义ListView
- 自定义listview
- 自定义listview
- 自定义listview
- ListView-自定义
- ListView自定义
- 自定义ListView
- 自定义listView
- 自定义ListView
- 自定义ListView
- iOS NSString常用方法
- Citavi 6 从入门到精通中文教程 -您只需看会这些
- 从尾到头打印链表(链表)
- 接口测试-使用枚举类型
- 电梯系统高精度自诊断
- 自定义listview
- AJAX(22)
- iOS倒计时-swift2.3
- listview多条目加载
- marquee滚动标签
- struts2文件上传和下载
- 【转】解决 Atom 的包管理器——apm 访问速度慢的问题
- 极光推送工具类JpushUtil,无需修改,直接可用
- 运维之shell篇-----3.循环结构 、 case语句 、 函数及中断控制