自定义view

原创 2015年11月18日 20:23:05

参考博客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);
    }

}

Android 中自定义View的初步总结

概述在开发过程中,经常会遇到系统中提供的控件无法满足产品的设计需求,这时可能就需要考虑使用自定义的View来实现产品的设计细节了。对于自定义View,可以分为两种,一种是自定义控件(继承View),另...
  • yuminfeng728
  • yuminfeng728
  • 2016年06月08日 13:32
  • 3788

Android自定义view生命周期

定义一个自定义CustomView,在xml中加载,打印MainActivity和view各个生命周期方法,对比如图显示       自定义view的生命周期过程主要分为三个环节,初始准备...
  • ljzdyh
  • ljzdyh
  • 2016年07月26日 15:08
  • 2389

Android自定义View(二、深入解析自定义属性)

转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51454685 本文出自:【openXu的博客】 [TOC] 在上一篇博...
  • u010163442
  • u010163442
  • 2016年05月21日 03:53
  • 17677

自定义View(一)——画线、矩形、圆形、图像

一、最简单的自定义View,什么都不显示,但是有View的特性 com.cctvjiatao.customview.MainActivity package com.cctvjiatao.custom...
  • lvyoujt
  • lvyoujt
  • 2016年03月12日 13:29
  • 4458

自定义View实现手势监听

下面是我自定义的view,主要是实现左右滑动 要实现手势监听,首先要实现OnGestureListener接口 其次是实例化一个GestureDetector:mDetector = new Ge...
  • chengjiamei
  • chengjiamei
  • 2015年06月15日 16:37
  • 1224

自定义view入门

如何自定义控件主要分为以下几个步骤: 1、自定义属性的声明与获取 (1)分析需要的自定义属性 (2)在res/values/attrs.xml定义声明,如 (3)在layout xml文件中进...
  • XSF50717
  • XSF50717
  • 2016年01月16日 21:21
  • 1963

自定义View需要注意的问题

自定义View的分类 继承View重写onDraw方式 这种方式主要用来实现一些不规则的自定义View 需要自己处理wrap_content的情况 因为默认的View对wra...
  • u012760183
  • u012760183
  • 2016年05月17日 23:02
  • 844

自定义view与自定义drawable在设置图像中的使用

自定义View 先使用BitmapFactory.decodeResource()来获取一个位图Bitmap,其中第一个参数为资源,第二个参数为要修改的图片 然后使用Shader对其进行操作 对于Bi...
  • molu_chase
  • molu_chase
  • 2016年07月03日 12:06
  • 1627

手把手教你写一个完整的自定义View

前言 自定义View是Android开发者必须了解的基础 今天,我将手把手教你写一个自定义View,并理清自定义View所有应该的注意点 阅读本文前,请先阅读我写的一系列自定义View文章 ...
  • carson_ho
  • carson_ho
  • 2017年03月14日 10:11
  • 18967

自定义View的基本知识和步骤

自定义view的基本知识和步骤
  • qq_18870023
  • qq_18870023
  • 2016年04月01日 10:34
  • 1040
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自定义view
举报原因:
原因补充:

(最多只允许输入30个字)