NinePatchDrawable

Stella981
• 阅读 672

关于.9图片突然就有几个问题

  1. 去反编译看到别人的.9图,宽高是50*100,
  2. 那如果搞成5*10不是图片会更小么?
  3. 它是怎么拉伸的?
  4. 拉伸的时候保持原有图片的宽高比么?

保持不保持原有图片宽高比跟你画的线有关.通常不会保持. 拉伸规则

a NinePatchDrawable graphic is a strechable bitmap image,which Android will automatically rezise to accommodate the contents of the View in which you have placed it as the background.

A NinePatch drawable is a standard PNG image that includes an 1-pixel-wide border, it must be saved with the extension .9.png, and saved into the res/drawable/ directory of your project.

The border is used to define the stretchable and static areas of the image.You indicate a stretchable section by drawing one(or more)1-pixel-wide black line(s) in the left and top part of the border ==the other border pixels should be fully transparent or white==.You can have as many stretchable sections as you want:their relative size stays the same,so the largest sections always remain the largest.

You can also define an optional drawable section of the image(effectively,the padding lines)by drawing a line on the right and bottom lines.If a View object sets the NinePatch as its background and then specifies the View's text,it will stretch itself so that all the text fits inside only the area designated by the right and bottom lines(if include).If the padding lines are no included,And uses the left and top lines to difine this drawable area.

NinePatchDrawable

<Button id="@+id/tiny"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerInParent="true"
        android:text="Tiny"
        android:textSize="8sp"
        android:background="@drawable/my_button_background"/>

<Button id="@+id/big"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerInParent="true"
        android:text="Biiiiiiig text!"
        android:textSize="30sp"
        android:background="@drawable/my_button_background"/>

NinePatchDrawable

点赞
收藏
评论区
推荐文章
晴空闲云 晴空闲云
3年前
svg绘制六种基本形状
svg简介svg意为可缩放矢量图形(ScalableVectorGraphics),最大的特点就是伸缩不会失真。svg是用xml进行描述的,在前端方面现在应用越来越广泛,各大浏览器支持越来越好了。这边尝试记录一下用svg画各种形状。svg标签要使用svg,需要先引入svg标签:html其中:width表示图片的宽。height表示图片的高。画长
Stella981 Stella981
3年前
SVG动画制作工具 , 从此抛弃臃肿的gif
VG简介只要是程序员的你,你不得不知道svg图片,它可以无限任意放大拉伸都不会损失画质,就像系统字体一样可以无限矢量放大,svg更高级是可以用来制作矢量动画,现在各大浏览器和系统基本对svg已经支持很好了SVG与Gif的比较SVG图片:矢量放大,动画也是矢量,体积极小,相当于一个.txt文本的体积,几b到几kb
Easter79 Easter79
3年前
SVG动画制作工具 , 从此抛弃臃肿的gif
VG简介只要是程序员的你,你不得不知道svg图片,它可以无限任意放大拉伸都不会损失画质,就像系统字体一样可以无限矢量放大,svg更高级是可以用来制作矢量动画,现在各大浏览器和系统基本对svg已经支持很好了SVG与Gif的比较SVG图片:矢量放大,动画也是矢量,体积极小,相当于一个.txt文本的体积,几b到几kb
可莉 可莉
3年前
10个实用的jquery小技巧
帮助提高你jQuery应用的简单小技巧。1.回到顶部按钮2.图片预加载3.判断图片是否加载完4.自动修补破损图像5.Hover切换class类6.禁用输入7.停止正在加载的链接8.togglefade/slide9.简单的手风琴10.使两个DIV同等高度11.在浏览器标签/新窗口打开外部链
Stella981 Stella981
3年前
Opencv笔记(二十)——直方图(二)
直方图均衡化原理:  想象一下如果一副图像中的大多是像素点的像素值都集中在一个像素值范围之内会怎样呢?例如,如果一幅图片整体很亮,那所有的像素值应该都会很高。但是一副高质量的图像的像素值分布应该很广泛。所以你应该把它的直方图做一个横向拉伸(如下图),这就是直方图均衡化要做的事情。通常情况下这种操作会改善图像的对比度。直方图均衡化后面潜在的数
Wesley13 Wesley13
3年前
CIFAR
1、CIFAR10,是一个用于做图像分类研究的数据集。由60000个图片组成6万个图片中,5万张用于训练,1万张用于测试每个图片是32x32像素所有图片可以分成10类每个图片都有一个标签,标记属于哪一个类测试集中一个类对应1000张图训练集中将5万张图分为5份类之间的图片是互
Wesley13 Wesley13
3年前
FancyMoves,一款精美的图片轮播插件,可用键盘左右键进行轮播
   本次给各位介绍的是一个名叫FancyMoves的JQuery图片轮播插件。您可以使用鼠标点击,甚至是使用键盘左右键来进行图片的切换操作。   特性介绍:   1.轻松的改变幻灯变的宽度。   2.轻易改变下一张展示图片的数量。   3.最后一张图片会循环回到第一张图片里。   4.嵌入了Fancy
Stella981 Stella981
3年前
SDWebImage 实现原理及大致介绍
一、SDWebImage实现原理:1.首先让占位图先显示。2.SDWebImageManage交给SDImageCache先从内存中查找是否有图片,会以URL作为数据的索引在内存中查找是否有对应的缓存。3.如果有缓存,通过代理进行回调展示图片。4.如果内存缓存中没有找到,生成NSInvocati
Wesley13 Wesley13
3年前
fullscreen图片全屏并保持宽高比例的背景图
     您可否曾经想过在您的网站上有一副时常能填满屏幕而又能保持宽高比的背景图片呢?还有它必须是居中的,而不是集中在图片左上角?此插件就能满足您的以上需求。你可以通过demo来查看,然后你可以发现它能够在所有允许javascript运行的浏览器上完美的运行。当然IE浏览器的话是需要一些额外的代码,在此我推荐unitpngfix去处
子桓 子桓
1年前
Mac电脑照片放大工具推荐:Topaz Gigapixel AI一键激活版最新
TopazGigapixelAI是一款图像无损处理软件,它主要功能是将图片放大并且保持清晰度。这款软件运用了AI人工智能放大技术,可以在放大图片的同时运用AI人工智能来填补那些无法直接计算的缺失部分,让低分辨率图片转为高分辨率、高质量图片,从而更好的弥补图