首页 > 代码库 > Android学习笔记进阶19之给图片加边框

Android学习笔记进阶19之给图片加边框

技术分享

 

[java] view plain copy
  1. //设置颜色  
  2.     public void setColour(int color){  
  3.         co = color;  
  4.     }  
  5.     //设置边框宽度  
  6.     public void setBorderWidth(int width){  
  7.           
  8.         borderwidth = width;  
  9.     }  


 

具体实现:

[java] view plain copy
  1. package xiaosi.imageborder;  
  2.   
  3. import android.app.Activity;  
  4. import android.graphics.Color;  
  5. import android.os.Bundle;  
  6.   
  7. public class ImageBorderActivity extends Activity {  
  8.     /** Called when the activity is first created. */  
  9.     private myImageView image = null;  
  10.     private myImageView image1 = null;  
  11.     @Override  
  12.     public void onCreate(Bundle savedInstanceState) {  
  13.         super.onCreate(savedInstanceState);  
  14.         setContentView(R.layout.main);  
  15.           
  16.         image = (myImageView)findViewById(R.id.iamge);  
  17.         image.setColour(Color.YELLOW);  
  18.         image.setBorderWidth(10);  
  19.         image1 = (myImageView)findViewById(R.id.iamge1);  
  20.         image1.setColour(Color.GREEN);  
  21.         image1.setBorderWidth(5);  
  22.     }  
  23. }  


 

 

main.xml

[java] view plain copy
  1. <LinearLayout  
  2.     xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:background="@drawable/playerbackground"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent">  
  6.      <xiaosi.imageborder.myImageView   
  7.          android:id="@+id/iamge"  
  8.          android:layout_width="200px"   
  9.          android:layout_height="230px"  
  10.          android:layout_alignParentRight="true"  
  11.          android:src=http://www.mamicode.com/"@drawable/v"  
  12.          android:layout_centerInParent="true"  
  13.          android:layout_marginRight="3px"  
  14.         />  
  15.      <xiaosi.imageborder.myImageView   
  16.          android:id="@+id/iamge1"  
  17.          android:layout_width="200px"   
  18.          android:layout_height="230px"  
  19.          android:layout_alignParentRight="true"  
  20.          android:src=http://www.mamicode.com/"@drawable/v"  
  21.          android:layout_centerInParent="true"  
  22.          android:layout_marginRight="3px"  
  23.         />  
  24. </LinearLayout>  


 

[java] view plain copy
  1. package xiaosi.imageborder;  
  2.   
  3. import android.content.Context;  
  4. import android.graphics.Canvas;  
  5. import android.graphics.Paint;  
  6. import android.graphics.Rect;  
  7. import android.util.AttributeSet;  
  8. import android.widget.ImageView;  
  9.   
  10. public class myImageView extends ImageView {  
  11.   
  12.     private int co;  
  13.     private int borderwidth;  
  14.     public myImageView(Context context) {  
  15.         super(context);  
  16.     }  
  17.     public myImageView(Context context, AttributeSet attrs,  
  18.             int defStyle) {  
  19.         super(context, attrs, defStyle);  
  20.     }  
  21.   
  22.     public myImageView(Context context, AttributeSet attrs) {  
  23.         super(context, attrs);  
  24.     }  
  25.     //设置颜色  
  26.     public void setColour(int color){  
  27.         co = color;  
  28.     }  
  29.     //设置边框宽度  
  30.     public void setBorderWidth(int width){  
  31.           
  32.         borderwidth = width;  
  33.     }  
  34.     @Override  
  35.     protected void onDraw(Canvas canvas) {  
  36.         super.onDraw(canvas);  
  37.         // 画边框  
  38.         Rect rec = canvas.getClipBounds();  
  39.         rec.bottom--;  
  40.         rec.right--;  
  41.         Paint paint = new Paint();  
  42.         //设置边框颜色  
  43.         paint.setColor(co);  
  44.         paint.setStyle(Paint.Style.STROKE);  
  45.         //设置边框宽度  
  46.         paint.setStrokeWidth(borderwidth);  
  47.         canvas.drawRect(rec, paint);  
  48.     }  
  49. }  


 

 

源代码下载:点击打开链接

Android学习笔记进阶19之给图片加边框