canvas教程

Android绘图必杀技(3)

字号+ 作者:H5之家 来源:H5之家 2016-09-16 12:00 我要评论( )

NinePatchDrawable图像是可伸展的位图。当你将它作为背景时,Android会自动适应View的大 inePatch的一个案例是背景使用标准Android按钮。按钮必须能根据不同的长度自动伸展。NinePatch drawable是标准的PNG格式

NinePatchDrawable图像是可伸展的位图。当你将它作为背景时,Android会自动适应View的大小。NinePatch的一个案例是背景使用标准Android按钮。按钮必须能根据不同的长度自动伸展。NinePatch drawable是标准的PNG格式,在最外面一圈额外增加1px的边框。
它必须以.9.png为扩展名,并且保存在res/drawable/目录下。

这个1px的边框就是用来定义图片中可扩展的和静态不变的区域。在边框的左上角画一个1像素的黑线来表面伸缩区域。你想要多少伸缩区域都可以:他们的绝对尺寸保持相同,所以最大的区域永远是最大的。

你也可以定义一个可选的可移动部分在图片上,通过下面和右边的线。如果一个View对象设置NinePatch作为背景,然后改变View上的文字, 它会自己伸展,所有的文字将会适应你通过右边和下面的线定义的区域。如果不包括填充线, Android使用左边和上面的线定义可绘区域。

为了阐明这两条线的不同,左和上的线定义图片像素允许被复制以便拉伸图片。下方和右边的线定义相对区域在图片的内容区域。

下面是简单的按钮使用例子:

NinePatch通过左上线来定义伸缩区域,并且通过下右线来定义可绘区域。第一幅图,灰色虚线确定的图片区域将会被拉伸。第二幅图的粉色区域 确定一个View里的内容显示区域。如果内容不适合这个区域,图片将会被拉伸。

Draw 9-patch工具提供了简便的方法来创建我们的NinePatch图片,使用WYSIWYG图形工具。

Example XML

注意宽和高设置为wrap_content使按钮内容自动调整。

 

相关推荐

android Canvas 绘图系列(1)

android Canvas 绘图系列(一) 首先解释一下:Canvas、Paint 、Rect. Canvas绘图有三个要点(你完全可以开一下脑洞): 1.Canvas画布,就像是我们画画用的纸。图形绘制在Canvas画布之上。 2.Paint画笔,就像现实中的画笔一样,可以设置颜色,字体,透明度等。 3.Rect绘画路径,用于绘制不同形状如:矩形、椭圆形等。 这里主要讲述的是View中

android Canvas 绘图系列(2)

android Canvas 绘图系列(二) 这里主要讲Paint 画笔。还是搬运和翻译官方文档吧。 1.setAlpha(int a) 设置透明度,参数范围是0-255。 如需要设置改属性:建议改成(0-1),然后乘以255. 2.setColor(int color) 设置画笔颜色其中包含透明度,参数为0xff777777类型,0x是16进制标识,后两个f

javascript 获取元素样式必杀技

Javascript获取CSS属性值方法:getComputedStyle和currentStyle 1 .对于元素的内联CSS样式(<div style="color:#369">hello</div>),可以直接使用element.style.color来直接获取css属性的值; 2. 但是对于外部定义的css样式使用这种方式就无法获取了,而且IE浏

Android游戏之文件读写类跟绘图类设计

Android游戏之文件读写类和绘图类设计 Android游戏之文件读写类和绘图类设计 1、基础知识: A. FileInputStream FileOutputStream

canvas通过matrix绘图有关问题

canvas通过matrix绘图问题 1、自定义一个mViewextendedImageView,重写他的ondraw函数 把一个原始drawable资源decode成bitmap,缩小为0.667 然后直接用canvas.drawbitmap绘制出来,效果非常差,画笔设置了paint.setA

Android札记二十八.Android绘图深度解析

Android笔记二十八.Android绘图深度解析 Android绘图深度解析

Delphi 的绘图功能[5] - 获取 Canvas 对象

在窗体上添加 Panel1、PaintBox1 和 Button1, 代码如下: procedure TForm1.Button1Click(Sender: TObject); var cvs: TCanvas; begin {PaintBox1 就像窗体一样, 也有 Canvas 属性} PaintBox1.Canvas.Brush.Color := clRed; PaintBox1.Canv

Android - Canvas java.lang.UnsupportedOperationException

Android -- Canvas java.lang.UnsupportedOperationException 干货 java.lang.UnsupportedOperationException at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:287) at br.com.iba.view.PageCurlView.draw

Android自定义控件1_Canvas分析

Android自定义控件一_Canvas分析 自定义控件分为两种一种是自定义ViewGroup控件,一种是自定义View控件;跟踪View的步伐其实能跟到Java实现的最下面我们能发现的也就只有Canvas了,再下去就是C++或C实现了;所以本文主要是站在设计的的角度讲解一下Canvas跟View的关系,再简单分析一下Canvas用法; View作为Android中一切显示视图的父类,我们

Android Graphics课题(1)- Canvas基础

Android Graphics专题(1)--- Canvas基础 作为Android Graphics专题的开篇,毫无疑问,我们将讨论Android UI技术的核心概念——Canvas。 Canvas是Android UI框架的基础,在Android的控件体系中,所有容器类、控件类在实现上都依赖于Canvas,界面的绘制实质上都是Canvas绘制的。本文将讨论Canvs的由来,并通过实例展示C

Android绘图及简略动画

Android绘图及简单动画 在java中,我们要实现绘图,一般通过继承IFrame或者是在JFrame上窗体来画图,或在窗体上加入面板在上面进行画图。而android上也有几种画图方法。 1)在界面上加入一个图片组件,再在该图片组件上画图。 2)定义一个类继承View类来实现自定义画图组件,重写当中的构造方法

Android:使用Canvas合并Bit地图

Android:使用Canvas合并Bitmap 关键点 canvas.drawBitmap(bitmap, srcRect, dstRect, null); 将bitmap的srcRect区域绘制到canvas的dstRect区域 Demo main.xml <?xml version="1.0" encoding="utf-8"?>

Delphi 的绘图功能[15] - 再谈文字的高度与宽度: Canvas.TextExtent

procedure TForm1.Button1Click(Sender: TObject); var str: string; wh: TSize; w,h: Integer; begin {前面用过 Canvas.TextWidth、Canvas.TextHeight} str := '万'; w := Canvas.TextWidth(str); h := Canvas.TextHeight

Android Canvas实现点击输入文字

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Android好奇宝宝

    Android好奇宝宝

    2016-09-05 11:00

  • 基于HTML5 canvas绘图技术研究.pdf.pdf

    基于HTML5 canvas绘图技术研究.pdf.pdf

    2016-09-04 18:00

  • Android的Paint、Canvas和Matrix讲解

    Android的Paint、Canvas和Matrix讲解

    2016-09-02 13:00

  • android jni 用skia画图,运行后模拟器上没显示,求解啊

    android jni 用skia画图,运行后模拟器上没显示,求解啊

    2016-09-02 12:00

网友点评
l