哈尔滨理工大学录取查询,13524答案不是6,湖北省电信营业厅
废话不多说了,直接给大家贴代码了。
java类如下:
import android.content.context; import android.content.res.typedarray; import android.graphics.bitmap; import android.graphics.bitmap.config; import android.graphics.canvas; import android.graphics.color; import android.graphics.paint; import android.graphics.path; import android.graphics.porterduff; import android.graphics.porterduffxfermode; import android.graphics.rectf; import android.util.attributeset; import android.widget.imageview; import cn.dotcreate.tt.r; public class roundangleimageview extends imageview { private paint paint; private int roundwidth = 5; private int roundheight = 5; private paint paint2; public roundangleimageview(context context, attributeset attrs, int defstyle) { super(context, attrs, defstyle); init(context, attrs); } public roundangleimageview(context context, attributeset attrs) { super(context, attrs); init(context, attrs); } public roundangleimageview(context context) { super(context); init(context, null); } private void init(context context, attributeset attrs) { if(attrs != null) { typedarray a = context.obtainstyledattributes(attrs, r.styleable.roundangleimageview); roundwidth= a.getdimensionpixelsize(r.styleable.roundangleimageview_roundwidth, roundwidth); roundheight= a.getdimensionpixelsize(r.styleable.roundangleimageview_roundheight, roundheight); }else { float density = context.getresources().getdisplaymetrics().density; roundwidth = (int) (roundwidth*density); roundheight = (int) (roundheight*density); } paint = new paint(); paint.setcolor(color.white); paint.setantialias(true); paint.setxfermode(new porterduffxfermode(porterduff.mode.dst_out)); paint2 = new paint(); paint2.setxfermode(null); } @override public void draw(canvas canvas) { bitmap bitmap = bitmap.createbitmap(getwidth(), getheight(), config.argb_8888); canvas canvas2 = new canvas(bitmap); super.draw(canvas2); drawliftup(canvas2); drawrightup(canvas2); drawliftdown(canvas2); drawrightdown(canvas2); canvas.drawbitmap(bitmap, 0, 0, paint2); bitmap.recycle(); } private void drawliftup(canvas canvas) { path path = new path(); path.moveto(0, roundheight); path.lineto(0, 0); path.lineto(roundwidth, 0); path.arcto(new rectf( 0, 0, roundwidth*2, roundheight*2), -90, -90); path.close(); canvas.drawpath(path, paint); } private void drawliftdown(canvas canvas) { path path = new path(); path.moveto(0, getheight()-roundheight); path.lineto(0, getheight()); path.lineto(roundwidth, getheight()); path.arcto(new rectf( 0, getheight()-roundheight*2, 0+roundwidth*2, getheight()), 90, 90); path.close(); canvas.drawpath(path, paint); } private void drawrightdown(canvas canvas) { path path = new path(); path.moveto(getwidth()-roundwidth, getheight()); path.lineto(getwidth(), getheight()); path.lineto(getwidth(), getheight()-roundheight); path.arcto(new rectf( getwidth()-roundwidth*2, getheight()-roundheight*2, getwidth(), getheight()), 0, 90); path.close(); canvas.drawpath(path, paint); } private void drawrightup(canvas canvas) { path path = new path(); path.moveto(getwidth(), roundheight); path.lineto(getwidth(), 0); path.lineto(getwidth()-roundwidth, 0); path.arcto(new rectf( getwidth()-roundwidth*2, 0, getwidth(), 0+roundheight*2), -90, 90); path.close(); canvas.drawpath(path, paint); } }
定义一个attr.xml的文件,放在values目录下面,内容如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="roundangleimageview"> <attr name="roundwidth" format="dimension" /> <attr name="roundheight" format="dimension" /> </declare-styleable> </resources>
使用示例如下:
先要声明属性的名字空间:
然后再写跟一般定义view一样:
<cn.dotcreate.tt.ui.roundangleimageview android:id="@+id/headiv" android:layout_width="75dp" android:layout_height="75dp" android:layout_centervertical="true" android:layout_marginleft="2dp" app:roundwidth="10dp" app:roundheight="10dp" android:src="@drawable/default_head_icon" />
效果如图:
以上代码简单介绍了android自定义圆角imageview的相关知识,希望本文分享对大家有所帮助。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio 解决logcat无过滤工具栏的操作
Android Studio 恢复小窗口停靠模式(Docked Mode)
Android studio保存logcat日志到本地的操作
Android Studio快捷键生成TAG、Log.x日志输出介绍
网友评论