Android开发--圆角按钮和绘制直线的实现

               

       我们通常会觉得系统给出的按钮不够美观,这时,我们可以自己定义一个按钮,已达到自己的需求,在这里实现一个圆角按钮。

需要在drawable文件夹下新建一个xml文件,并以shape为根标签,利用如下的shape即可实现需求:

<?xml version="1.0" encoding="utf-8"?><shape    xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">    <!-- 填充的颜色(白色) -->    <solid an
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Android绘制带有圆角直线并且不填充任何颜色,可以使用`Path`和`Paint`类来实现。下面是一个简单的实现示例: ```java Paint paint = new Paint(); paint.setColor(Color.RED); paint.setStrokeWidth(10); paint.setStyle(Paint.Style.STROKE); Path path = new Path(); RectF rectF = new RectF(50, 50, 200, 200); float radius = 20; path.addRoundRect(rectF, radius, radius, Path.Direction.CCW); Canvas canvas = new Canvas(); canvas.drawPath(path, paint); ``` 在上面的示例中,首先创建了一个`Paint`对象并设置其颜色、线宽和样式。然后创建了一个`Path`对象,并使用`addRoundRect`方法将一个矩形转化为具有圆角的路径。最后使用`Canvas`的`drawPath`方法将路径绘制到画布上。 如果需要绘制直线而不是矩形,则需要使用`moveTo`和`lineTo`方法来手动绘制路径。具体实现可以参考以下示例代码: ```java Paint paint = new Paint(); paint.setColor(Color.RED); paint.setStrokeWidth(10); paint.setStyle(Paint.Style.STROKE); Path path = new Path(); float startX = 50, startY = 50, endX = 200, endY = 200; float radius = 20; path.moveTo(startX + radius, startY); path.lineTo(endX - radius, startY); path.quadTo(endX, startY, endX, startY + radius); path.lineTo(endX, endY - radius); path.quadTo(endX, endY, endX - radius, endY); path.lineTo(startX + radius, endY); path.quadTo(startX, endY, startX, endY - radius); path.lineTo(startX, startY + radius); path.quadTo(startX, startY, startX + radius, startY); Canvas canvas = new Canvas(); canvas.drawPath(path, paint); ``` 在上面的示例代码中,首先创建了一个`Paint`对象并设置其颜色、线宽和样式。然后创建了一个`Path`对象,并使用`moveTo`和`lineTo`方法手动绘制具有圆角直线路径。最后使用`Canvas`的`drawPath`方法将路径绘制到画布上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值