自定义view

参考博客http://blog.csdn.net/pi9nc/article/details/18764863

自定义view实现如下效果
衣服图与设计图叠加,显示在列表中
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec,heightMeasureSpec);
int widthSize = MeasureSpec.getSize(widthMeasureSpec);
int widthMode = MeasureSpec.getMode(widthMeasureSpec);
int heightSize = MeasureSpec.getSize(heightMeasureSpec);
int heightMode = MeasureSpec.getMode(heightMeasureSpec);

    if (widthMode == MeasureSpec.EXACTLY && heightMode == MeasureSpec.AT_MOST){
        heightSize = widthSize *5 / 4;
        setMeasuredDimension(widthSize,heightSize);
    }else if (widthMode == MeasureSpec.AT_MOST && heightMode == MeasureSpec.EXACTLY){
        widthSize = heightSize *4 /5;
        setMeasuredDimension(widthSize,heightSize);
    }else{
        widthSize = getMeasuredWidth();
        heightSize = widthSize *5 / 4;
    }

    setDesignPosition(widthSize,heightSize,type);
}

public void setDesignPosition(int w,int h,int type){
    ViewGroup.LayoutParams params = simpleDraweeView_clothes.getLayoutParams();
    params.width = w;
    params.height = h;
    simpleDraweeView_clothes.setLayoutParams(params);

    if(type == CommonConstants.TShit){
        //T恤
        LayoutParams param = (LayoutParams) simpleDraweeView_design.getLayoutParams();
        int l = (int) ((w - 0.371 * w)/2);
        int t = (int) ((h - 0.414 * h)/2);
        int width = (int) (0.371 * w);
        int height = (int) (0.414 * h);

        param.setMargins(l, t, 0, 0);
        param.height = height;
        param.width = width;
        simpleDraweeView_design.setLayoutParams(param);
    }

}
阅读更多
想对作者说点什么? 我来说一句

自定义View

2016年06月21日 8.85MB 下载

自定义View+属性

2016年03月02日 1.62MB 下载

android 自定义View

2009年12月13日 3KB 下载

Android中自定义View

2016年03月20日 5.82MB 下载

自定义view基础与原理源码

2016年03月01日 1.39MB 下载

自定义View进阶一

2016年05月28日 1.38MB 下载

Android自定义View之进度条Demo

2017年10月23日 138KB 下载

android横向滑动选择的View

2015年09月01日 45KB 下载

自定义button

2017年08月19日 21.32MB 下载

没有更多推荐了,返回首页

不良信息举报

自定义view

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭