java编译点九图_【Android】点9图,点九图
第六节视频的内容,真正做起来才发现自己一点都不了解这个点9图。
概述
官网截的:
A NinePatchDrawable
graphic is a stretchable bitmap image, which Android will automatically resize to accommodate the contents of the View in which you have placed it as the background. An example use of a NinePatch is the backgrounds used by standard Android buttons — buttons must stretch to accommodate strings of various lengths. A NinePatch drawable is a standard PNG image that includes an extra 1-pixel-wide border. It must be saved with the extension .9.png
, and saved into the res/drawable/
directory of your project.
点9图示一种可伸缩的位图,如果你某个View用了点9图做background,
Android会根据点9图的设置来自动为你调整、适应内容。
点9图是标准的PNG格式图像,被一圈1像素宽的边缘包围,
并且保存的时候扩展名一定要是“.9.png”,还要保存在“res/drawable/”目录。
其它要注意的地方
1.四边那几条黑线代表什么
2.最外围的一圈像素必须要么是纯黑色,要么是透明,一点点的半透明的像素都不可以有,比如说99%的黑色或者是1%的投影都不可以有
3.文件的后缀名必须是.9.png,不能是.png或者是.9.png.png,这样的命名都会导致编译失败。
关于操作
真正操作起来,才发现自己真的很不熟练。
看视频的时候,说“Create 9-Patch file”,
然后我连Create 9-Patch file在哪里点击都没找到……
之前是用那种画点9图的工具,现在AndroidStudio直接就有提供了。
把png格式(一定要是png,jpg之类的都不行),复制到“res/drawable/”目录,
点击右键,就会在菜单看到Create 9-Patch file了。
留意下面还有 □Show content 和 □Show patches 两个选项。
画的时候,就是在那1像素的包围圈“拖动”划线和“按住Shift键”删除。
我的上机试验
我做了一个EditText和Button,
那个Button的background就是下面这幅图,
把它像上面那样做成点9图。
当在EditText输入字符串,然后点击Button,
Button就会显示输入的内容,然后我就输入很多字符。
分别设置点9图上下左右的黑线,看Button会被撑开成什么样子。
代码如下:
public class AnotherActivity extends ActionBarActivity {
private Button btn_testNinePatch;
private EditText et_testNinePatch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_another);
btn_testNinePatch = (Button) findViewById(R.id.btn_testNinePatch);
et_testNinePatch = (EditText) findViewById(R.id.et_testNinePatch);
btn_testNinePatch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
btn_testNinePatch.setText(et_testNinePatch.getText().toString());
}
});
}
}
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
android:id="@+id/et_testNinePatch"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
android:id="@+id/btn_testNinePatch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button1"
android:text="sdfdsfdsfdsfdsfdsfdsfdsfsdf" />
记住那些要注意的地方,自己上机试一下,大概也就懂了。
参考资料
java编译点九图_【Android】点9图,点九图相关推荐
- java编译使用androidsdk,详解Android源码的编译
本文将为大家介绍的是如何设置Android源码的编译环境,包括Linux下的配置.主要基于Android 1.0环境,希望对大家了解Android开发有所帮助. 本次编译过程主要参考官方文档(http ...
- c++思维导图_必看|用好思维导图,别神话思维导图
不知不觉,时间已经划至5月中旬,20级的萌新们也从当初的"小白"不断进阶,化身老司机指日可待~ 相信从备考到现在,各位一定对"思维导图"这四个大字都听倦了!不管 ...
- html 甘特图_工具项目管理工具详解——甘特图
作为项目的负责人,"时间管理"也是极为重要的一环.甘特图作为常用的项目管理工具之一,有助于把一个大型项目划分为几个小部分,并有条理地展示. 甘特图(Gantt chart)又称为横 ...
- 介绍一个产品的思维导图_产品运营怎么使用思维导图?四个方面阐释思维导图的运用...
思维导图,作为一个工具而言,目前关于它的使用已经深入到各行各业中,就以互联网和软件工程来说,思维导图就常出现在:需求访谈,需求分析,概要和详细设计等环节,作为设计辅助手段使用. 它也经常出现在各类会议 ...
- hdc mfc 画扇形图_使用echarts绘制条形图和扇形图
使用echarts绘制条形图和扇形图 简单举例说明下echarts如何绘制条形图和扇形图 代码示例 echarts绘制条形图和扇形图 var mychart1=echarts.init(documen ...
- python课程思维导图_零基础Python学习思维导图,记得收藏
原标题:零基础Python学习思维导图,记得收藏 本文主要涵盖了 Python 编程的核心知识(暂不包括标准库及第三方库). 1.按顺序依次展示了以下内容的一系列思维导图:基础知识,数据类型(数字,字 ...
- python制作雷达图_如何利用Python matplotlib绘制雷达图
本篇文章介绍使用matplotlib绘制雷达图. 雷达图也被称为网络图,蜘蛛图,星图,蜘蛛网图,是一个不规则的多边形.雷达图可以形象地展示相同事物的多维指标,雷达图几乎随处可见,应用场景非常多. 一. ...
- 关于主机的思维导图_送给孩子最好的思维导图课程
思维导图寒假班来了 1关于思维导图思维导图是一种简单而有效的图形思维工具,主要元素包含图形.线条.关键字.颜色,配合下图,我们能理解思维导图利用了左脑和右脑的工作机理,能够充分调动大脑的分析推理和想象 ...
- 将java编译成so库_利用android studio 生成 JNI需要的动态库so文件
JNI: Java Native Interface, 提供了java语言和其他语言(例如c和c++)进行相互调用的方式. 本文是用java调用c生成的so模式.其中,编译so文件过程如下: 1) ...
- java安卓app开发教程_[Android教程] Cordova开发App入门(一)创建android项目
前言 Apache Cordova是一个开源的移动开发框架.允许使用标准的web技术-HTML5,CSS3和JavaScript做跨平台开发. 应用在每个平台的具体执行被封装了起来,并依靠符合标准的A ...
最新文章
- PCL:官方程序 Region growing segmentation
- Httpservlet cannot be resolved to a type的原因与解决方法
- java 生成二维码 QRCode、zxing 两种方式
- linux 终端 含义,ubuntu终端中@前后的字符串含义及修改-布布扣-bubuko.com
- [前端漫谈_4] 从 薛定谔的猫 聊到 Event loop
- vs2015 hiredis编译使用
- Unknown run configuration type AndroidRunConfigurationType的解决办法
- dialog的二次封装
- SpringBoot项目实现网络测速功能
- docker安装zabbix怎样修改图标和登录页文字
- OpenHarmony代码操作总结
- 华三防火墙Reth链路冗余技术
- 数据中台之数据建模三部曲
- 今日金融词汇---量化宽松
- 一个精壮的代购骗子被我用Python彻底征服了。居然坑到我头上来了。
- Virtual Box安装Linux
- python定义一个学生类姓名、年龄、性别、成绩、你成绩评价_.定义一个学生类Student,包含三个属性姓名、年龄、性别,创建三个学生对象存入ArrayList集合中。...
- idea去除常见黄色部分警告大全
- iOS7.1以及iOS9.2与之前的不同
- 红星美凯龙CEO车建新的圆融和霸气