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

【Android学习笔记进阶19 之给图片加边框】出门莫恨无人随,书中车马多如簇。这篇文章主要讲述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="https://www.songbingjia.com/android/@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="https://www.songbingjia.com/android/@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. }   

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





    推荐阅读