9.PNG 相当于把一张png图分成了9个部分(九宫格),分别为4个角,4条边,以及1个中间区域,启动它需要在Android SDK 路径下如 X:/android sdk/tools 找到一个draw9patch.bat .9工具.PNG 此时拖入一张图片,区域划分如下: ? .9PNG 区域划分.png 序列 1:区域是导入的图片,以及可操作区域。 因为下方和右方可操作区域是指定内容的显示区域,属于可选区域,可不予理会;但是要注意内容区域的标记不能有间断,否则.9.png图片在放入项目下会报错。 ? .9PNG 操作.png 注意上方和左边的黑色像素,是想让此png图像拉伸操作的时候,只是中间区域被拉伸。选择上方中间区域是为了横向拉伸的时候选取的拉伸像素点,左边则是纵向拉伸像素点。 .9 案例.gif
那么我们看下页面布局代码 <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id ="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android :id="@android:id/tabcontent" android:layout_width="fill_parent" android ; import android.content.Intent; import android.os.Bundle; import android.widget.TabHost; import android.widget.TabHost.TabSpec
9.png是Android开发中使用的图片格式,其目的是保证在拉伸时图片显示不致失真,主要是避免边框或描边糊掉。 .9图片的加工 Android的SDK自带了.9图片的加工工具,路径是SDK安装目录下的sdk\tools\draw9patch.bat,运行该程序就会呈现工具界面。 ? 这里Horizontal Padding的效果就相当于android:paddingLeft与android:paddingRight。 ? 这里Vertical Padding的效果就相当于android:paddingTop与android:paddingBottom。 ? 在实际开发中,前两个属性使用的比较多,因为很多场景都要求图片拉伸要保真。后两个属性,一般用的不多,但若是不知道,遇到问题还挺麻烦的。
/micro.blog.csdn.net/article/details/51277006 如果阅读体验不佳,请使用–> Github版 背景 之前写了一篇文章Android 必知必会–NinePatch图片制作详细介绍了Android 9Patch图片的制作和一些Demo展示,这次说明一下9Patch图片的制作的注意事项和遇到相关报错的解决方案。 一、注意事项 9Patch图片的左边框和上边框至少有一个描点,右边框和下边框则有且只有一段描点。 解决方法:检查一下报错的那个9Patch的四条边是否都进行了描点。 三、Can’t have more than one marked region along edge. 解决方法:检查一下报错的那个9Patch的右边框和下边框是否描点数超过1,有可能只是描点描了一个像素,所以检查的时候建议放大多倍进行检查。 PS: 你可以关注的我Github、CSDN和微博
在第一期 Android Oreo 8.0 开发者 FAQ 中,我们为了尽快让大家快速了解 Android Oreo 的新特性,以及它与之前版本 Android 的区别,我们针对 Android Oreo 然而对于 Android Oreo 这样一个全新的重大版本,寥寥几个问题无法代表全部开发者和用户。 总而言之,本期 Android 开发者 FAQ 为大家带来了一些关注度较高问题及相应解答,这些问题有的是我们在微信公众平台收到的留言,快来看看您提的问题上墙了吗? * 但请注意,Nexus 6 及 Nexus 9 设备将不会提供 Android 8.0 更新。 Q: 为什么通知圆点功能在 Nexus 5X / 6P 和 Pixel C 设备上不起作用? ? Q: Android O 有哪些新特性能够最直接用于开发?
Android设备适配,图片方面很重要的一部分就是.9图的使用了,我们今天就来记录一下。 1. 什么是.9.png图片,和普通png图片的区别? .9.png图片本质上还是png图片,区别是.9.png图比正常的png图片在最外围多了1px的边框,这就允许我们在这个1px的边框上定义图片的可拉伸区域以及图片的内容区域。 如果你还用eclipse开发,在你sdk中的tools文件夹找Draw9patch.bat文件,这是一个Windows 批处理文件,双击进入界面,拖入图片开始制作. 如果是studio直接以.9.png为后缀,双击编辑进入图片界面,选择左下角的9-patch即可开始制,或者图片右击在列表选则Create 9-Patch file即可。 3.如果发现你的点9图片太小或者极小,可以拖动图片下方的zoom放大图片,然后就可以精确操作了。 .9图各边框含义 ? image.png 处理为.9图之后 ? .9图显示 完毕!
> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/transition_root <ImageView android:layout_width="300dp" android:layout_height="150dp" android android:textColor="@android:color/white" android:textSize="24sp" android:gravity="center > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/transition_root > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com
作者: Madan Ankapura, Android 产品经理 ? 本文为 Android 电量管理系列连载的第一篇,希望开发者能从阅读过程中收获设备续航方面的战略洞见及实践指南。 因此,出色的电量管理对维持良好用户关系十分重要,而 Android 在迭代过程中也引入了不少特性,以协助开发者顺利应对这一挑战。 接下来,让我们一起回顾一下 Android 电量管理特性的演变史,看看各个版本的 Android 究竟是如何帮助设备提升续航表现的: 从 Android 5.0 Lollipop 开始,开发者可以利用 Android 9 Pie 则基于以下三项原则进一步强化了设备的电量管理能力: 1.帮助开发者构建精彩应用 2.提升应用功耗效率 3.为用户省去自行设置应用配置的步骤 这意味着 OS 操作系统需要变得更加智能 为了达到这些目的,Android 引入了应用待机分类和后台限制这两项特性,同时优化了原有的省电助手功能。建议开发者在已启用以上特性的 Android 9 Pie 设备上对应用进行相关测试。
《Android开发艺术探索》读书笔记 (9) 第9章 四大组件的工作过程 第9章 四大组件的工作过程 9.1 四大组件的运行状态 (1)四大组件中只有BroadcastReceiver既可以在AndroidManifest 从Android 3.1开始,处于停止状态的应用无法接受到开机广播。 (3)ContentProvider的android:multiprocess属性决定它是否是单实例,默认值是false,也就是默认是单实例。 其他学习资料 1.Android开发艺术探索读书笔记(三) OK,本章结束,谢谢阅读。
.9.PNG是安卓开发里面的一种特殊的图片,这种格式的图片通过ADT自带的编辑工具生成,使用九宫格切分的方法,使图片支持在android 环境下的自适应展示。 什么叫.9.PNG呢,这是安卓开发里面的一种特殊的图片 这种格式的图片在android 环境下具有自适应调节大小的能力。 (1)允许开发人员定义可扩展区域,当需要延伸图片以填充比图片本身更大区域时,可扩展区的内容被延展。 (2)允许开发人员定义内容显示区,用于显示文字或其他内容 ? 右侧和下方的黑线交叉的部分即内容显示区域(如做button背景图时,button上文字的显示区域) 用它可以实现部分拉伸,从而实现图片在安卓系统上的完美应用 拆过系统framework-res.apk包的机油们细心点看,里面有许多有.9.
创建第一个Android项目 本系列文章主要针对基于 Eclipse 的 IDE 下进行 Android 开发的技术、方法、过程与技巧进行记录。 该过程包括:创建 Android 工程和在 Android 虚拟设备上运行程序。 2)在 New Project 窗口的列表中找到 Android,选择 Android Application Project。 3)填写创建 Android 项目所需的基本信息。 在 Android 虚拟设备上运行程序 在通过上述方法创建 Android 项目后,就可以直接运行查看效果了。 2)如果还没有建立 Android 虚拟程序(AVD),并且也没有连接待调试的 Android 真机设备,那么 Eclipse 将会弹出提示错误的对话框:没有可匹配的运行目标,是否需要添加一台新的 Android
" android:drawablePadding="10dp" android:text="筛选" android:textColor="#000000" android > <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> ).into(插入的位置) mIv3=findViewById(R.id.imv_3); Glide.with(this).load("https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png viewHolder.tv_content.setText("这是新换的内容"); Glide.with(mcontext).load("https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png 能够显示列表、网格、瀑布流等形式,且不同的ViewHolder能够实现item的多元化的功能 但是使用起来会稍微麻烦一点,并且没有类似于ListView的onItemClickListener监听事件,需要开发者自己实现
4.写activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns " android:text="SD卡读写内容:" /> <EditText android:id="@+id/et_content" android " android:layout_width="wrap_content" android:layout_height="wrap_content" android ; import android.content.Context; import android.os.Environment; import android.text.format.Formatter android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button
按照行列方式布局组件 绝对布局:按照绝对坐标来布局组件 相对布局:相对其它组件的布局方式 约束布局:按照约束布局组件 帧布局:组件从屏幕左上方布局组件(图层叠加方式) 协调布局(CoordinatorLayout):android.support.v4 扩展布局 抽屉布局:android.support.v4扩展布局,创建特殊activity包含 选中控件鼠标右键添加到Design,设置关联id后,findviewbyid ?
前言 2017年是全面屏爆发的大热潮,18:9屏幕的相拥而来,在使用18:9等非传统16:9的手机之后,部分手机应用出现了上下黑边。 解决方案 两种方案用其中任意一个都行 方案1 设置 Android:resizeableActivity compileSdkVersion 需要设置为 24以上,不然报错 resizeableActivity android:resizeableActivity="true"> 这种方案会开启Android N分屏功能,所以需要适配下每个 Activity 自适应高度. 方案2 设置 Meta-Data:android.Max_aspect 设置最大高宽比为 2.1 <application> <meta-data android :name="android.max_aspect" android:value="2.1" /> </application> 目前我主要用到第二种方式来适配18:9的全面屏
6 7 <WebView 8 android:id="@+id/webView" 9 android:layout_width="match_parent savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 setContentView(R.layout.web_view); 9 6 7 <Button 8 android:id="@+id/button" 9 android:layout_width="wrap_content" EditText responseText ; 6 7 private Handler handler = new Handler(){ 8 @Override 9 Message msg = new Message() ; 7 msg.what = SHOW_RESPONSE ; 8 msg.obj = response.toString() ; 9
Android Plugin在buildType中有一个Boolean的属性名为minifyEnabled,可以设置成true启用Proguard: android { buildTypes proguard-android.txt文件作为默认的ProGuard配置文件。 而该文件就在Android SDK的tools/proguard目录下。 正因为Resource Shrinking工作了,Android Build Tools不能指出哪些资源是无用的,直到这些代码引用的资源全部被移除。 Jack:Java Android Compile Kit,它是Android Build Toolchain中的一个新工具。她可以编译Java代码直接到Dex格式。
*:d' and <tag> by itself means <tag>:v If not specified on the commandline, filterspec is set from ANDROID_LOG_TAGS If no filterspec is found, filter defaults to '*:I' If not specified with -v, format is set from ANDROID_PRINTF_LOG null V/ActivityManager( 500): getTasks: max=1, flags=0, receiver=null V/ActivityManager( 500): com.android.settings /.Settings: task=TaskRecord{42392278 #448 A com.android.settings U 0} V/ActivityManager( 500): We have entry is 5120b, max payload is 4076b octopus@octopus:~$ 加载日志缓冲区 : 使用 adb logcat -b 缓冲区类型 命令; -- Android
09-24 12:56:16.471: E/AndroidRuntime(10696): at android.app.ContextImpl.startActivity(ContextImpl.java :1205) 09-24 12:56:16.471: E/AndroidRuntime(10696): at android.content.ContextWrapper.startActivity( (View.java:4632) 09-24 12:56:16.471: E/AndroidRuntime(10696): at android.view.View$PerformClick.run( :103) 09-24 12:56:16.471: E/AndroidRuntime(10696): at android.os.Looper.loop(Looper.java:193) 09-24 12:56:16.471: E/AndroidRuntime(10696): at android.app.ActivityThread.main(ActivityThread.java:5348)
Android 9的昵称是“Pie”。这并不是最受欢迎的Android名称,但它最后将会变成一个最受欢迎的名称。说到底,真正重要的是“Pie”的新功能——而且有很多这样的功能。 不过,让我们来讨论一下升级到Android 9 Pie后将获得的特性。更新新版本最明显的标志是新的系统导航条,它取代了过去几次迭代中为Android用户提供良好服务的标准三图标导航条。 但这已经足够让人抱怨了,因为实际上是所有的小事情让Android 9派变得更好。有一些东西像自适应电池管理,通过学习你使用最多的应用程序,使你的电池寿命更长。 我很期待这款应用程序,因为它允许开发者在Android Pie的搜索栏中高亮显示他们的部分应用程序(或许可以开始播放一首歌或者叫一辆车)。 或许谷歌还没有准备好——或许它的合作伙伴还没有构建足够的片段,但无论如何,我们都不会在Android Pie中看到这个功能,估计要等到今年晚些时候。 这是安卓9 Pie。