ImageView设置边框的两种方式
1、重写imageView:
- package org.xxx.picUpload.util;
- 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 {
- public MyImageView(Context context) {
- super(context);
- // TODO Auto-generated constructor stub
- }
- public MyImageView(Context context, AttributeSet attrs,
- int defStyle) {
- super(context, attrs, defStyle);
- // TODO Auto-generated constructor stub
- }
- public MyImageView(Context context, AttributeSet attrs) {
- super(context, attrs);
- // TODO Auto-generated constructor stub
- }
- @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.GRAY); //颜色
- paint.setStyle(Paint.Style.STROKE);
- paint.setStrokeWidth(5);
- canvas.drawRect(rec, paint);
- }
- }
- <org.xxx.picUpload.util.MyImageView
- android:id="@+id/imageView"
- android:layout_width="400px"
- android:layout_height="200px"/
2、增加XML文件
<?xml version="1.0" encoding="utf-8"?>
<!-- 定义矩形rectangle -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<!-- 设置边框的大小和颜色 -->
<stroke android:width="3dip" android:color="#ff0000" />
<!-- 设置矩形内的颜色,此处为透明色 -->
<solid android:color="@android:color/transparent"/>
<!-- 定义圆角弧度 -->
<corners
android:bottomLeftRadius="4dp"
android:bottomRightRadius="4dp"
android:topLeftRadius="4dp"
android:topRightRadius="4dp"
/>
</shape>
|
在imgeview配置:
<ImageView
android:id="@+id/firstImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:layout_centerHorizontal="true"
android:layout_marginTop="150dip"
android:background="@drawable/imageviewboundshape"
/>