ClipImageLayout.java
1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package com.hloong.clipheadicon;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.widget.RelativeLayout;
/**
* @ClassName: ClipImageLayout
* @Description:
* @author xiechengfa2000@163.com
* @date 2015-5-10 下午10:22:24
*/
public class ClipImageLayout extends RelativeLayout {
private ClipZoomImageView mZoomImageView;
private ClipImageBorderView mClipImageView;
private int mHorizontalPadding = 10;// 框左右的边距,这里左右边距为0,为�?��屏幕宽度的正方形�?
public ClipImageLayout(Context context, AttributeSet attrs) {
super(context, attrs);
mZoomImageView = new ClipZoomImageView(context);
mClipImageView = new ClipImageBorderView(context);
android.view.ViewGroup.LayoutParams lp = new LayoutParams(
android.view.ViewGroup.LayoutParams.MATCH_PARENT,
android.view.ViewGroup.LayoutParams.MATCH_PARENT);
this.addView(mZoomImageView, lp);
this.addView(mClipImageView, lp);
// 计算padding的px
mHorizontalPadding = (int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, mHorizontalPadding, getResources()
.getDisplayMetrics());
mZoomImageView.setHorizontalPadding(mHorizontalPadding);
mClipImageView.setHorizontalPadding(mHorizontalPadding);
}
public void setImageDrawable(Drawable drawable) {
mZoomImageView.setImageDrawable(drawable);
}
public void setImageBitmap(Bitmap bitmap) {
mZoomImageView.setImageBitmap(bitmap);
}
/**
* 对外公布设置边距的方�?单位为dp
*
* @param mHorizontalPadding
*/
public void setHorizontalPadding(int mHorizontalPadding) {
this.mHorizontalPadding = mHorizontalPadding;
}
/**
* 裁切图片
*
* @return
*/
public Bitmap clip() {
return mZoomImageView.clip();
}
}