hyb1996 2016-02-28 13:06 采纳率: 50%
浏览 1945
已采纳

android 画一对漂亮的括号

android 画一对漂亮的括号。是()() 这种括号。注意是在canvas上画出来的 ,不是用字符代替的。
这是因为我需要根据需要不同尺寸的括号。但是用drawArc画出的括号很丑。以下是主要代码。如何才能画一个比较漂亮的括号呢。

  public static final int bracketWidth = ViewTools.dip2px(7);
    private static Paint bracketPaint = new Paint();
    static {
        bracketPaint.setStrokeWidth(ViewTools.dip2px(1.5f));
        bracketPaint.setStyle(Paint.Style.STROKE );
    }
    public static void drawLeftBracket(Canvas canvas, int x, int y, int height) {
        x += bracketWidth / 2;
        RectF rect = new RectF(x, y, x + bracketWidth, y + height);
        canvas.drawArc(rect, 90, 180, false, bracketPaint);
    }
  • 写回答

4条回答

  • hyb1996 2016-03-04 07:12
    关注

    问题解决了。采用一张比较大的PNG括号图片,根据需要进行放缩节OK。

    
    private static final int textBracketMaxHeight = ViewTools.dip2px(20);
        private static final int textBracketMaxWidth = ViewTools.dip2px(10);
    
     public static void drawLeftBracketPng(Canvas canvas, int x, int y,
                int height){
            Bitmap btp;
            if (height > textBracketMaxHeight) {
                btp = ViewTools.zoom(leftBracketPng, textBracketMaxWidth, height);
            }else{
                float scale = (float)height/leftBracketPng.getHeight();
                btp = ViewTools.zoom(leftBracketPng, scale, scale);
            }
            canvas.drawBitmap(btp, x, y, new Paint());
        }
        public static void drawRightBracketPng(Canvas canvas, int x, int y,
                int height){
            Bitmap btp;
            if (height > textBracketMaxHeight) {
                btp = ViewTools.zoom(rightBracketPng, textBracketMaxWidth, height);
            }else{
                float scale = (float)height/rightBracketPng.getHeight();
                btp = ViewTools.zoom(rightBracketPng, scale, scale);
            }
            canvas.drawBitmap(btp, x, y, new Paint());
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题