1.使用布局方式来实现:
说明:1、是把ImageView放在一个TableLayout中来实现的。
2、要设置ImageView的大小,就是长和宽(宽必须要设置)。 3、设置android:scaleType="centerCrop"属性, 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的 长(宽)。 4、设置ImageView的android:layout_margin="2dip"属性。 5、设置TableLayout的android:background="@drawable/white"属性。2,。通过自定义的方式来实现
java代码
package shadow.widget; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.util.AttributeSet; import android.widget.ImageView; public class myImageView extends ImageView { private String namespace="http://shadow.com"; private int color; public myImageView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub color=Color.parseColor(attrs.getAttributeValue(namespace, "BorderColor")); } /* (non-Javadoc) * android.widget.ImageView#onDraw(android.graphics.Canvas) */ @Override protected void onDraw(Canvas canvas) { // TODO Auto-generated method stub super.onDraw(canvas); //画边框 Rect rec=canvas.getClipBounds(); rec.bottom--; rec.right--; Paint paint=new Paint(); paint.setColor(color); paint.setStyle(Paint.Style.STROKE); canvas.drawRect(rec, paint); }
这里要注意的是super.onDraw(canvas);在前,否则边框可能会被图片所覆盖。
设置边框颜色 shadow:BorderColor="GRAY"
myImageView imageView=(myImageView)findViewById(....);imageView.set....//给imageView赋值