手工设置文本与图片相对位置时,常用到如下方法: setCompoundDrawables(left, top, right, bottom) setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom) 意思是设置Drawable显示在text的左.上.右.下位置. 但是两者有些区别:setCompoundDrawables 画的drawable的宽高是按drawable.setBound()设置的宽高,所以才有The Dra…
手工设置文本与图片相对位置时.经常使用到例如以下方法: setCompoundDrawables(left, top, right, bottom) setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom) 意思是设置Drawable显示在text的左.上.右.下位置. 可是两者有些差别: setCompoundDrawables 画的drawable的宽高是按drawable.setBound()设置的宽高, 所以才有T…
一.android:id="@+id/button1" 与 android:id="@id/button1" 区别 android:id="@+id/button1"  控件添加一个id这个新的id会自动生成在 R.java文件里面,在你的Activity里面通过 Button btn1 = (Button)findViewById(R.id.button1); 来引用对象了. android:id="@id/button1"…
Android中的组件需要用一个int类型的id属性值来表示.id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc.@+id/xyz等.如果在@后面使用“+”,表示当修改完某个布局文件并保存后,系统会自动在R.java文件中生成相应的int类型变量.变量名就是“/”后面的值,例如,@+id/xyz会在R.java文件中生成int xyz = value,其中value是一个十六进制的数.如果xyz在R.java中已经存在同名的变量,就不再生成新的变量,而该组件会使用这个已存…
android.support.v4.app.Fragment vs android.app.Fragment 的区别 我开过平板相关应用,用了Fragment来处理.后来重新开发另外一个应用,直接引用了原来布局和代码, 我用的是android.support.v4.app.fragment居然死活通过.总是报错 “android.view.InflateException: Binary XML file line #7: Error inflating class fragment” 往下推…
Android 和  ios 测试区别? App 测试中 ios 和 Android 有哪些区别呢?1.Android 长按 home 键呼出应用列表和切换应用,然后右滑则终止应用:2.多分辨率测试,Android 端 20 多种,ios 较少:3.手机操作系统,Android 较多,ios 较少且不能降级,只能单向升级:新的 ios系统中的资源库不能完全兼容低版本中的 ios 系统中的应用,低版本 ios 系统中的应用调用了新的资源库,会直接导致闪退(Crash):4.操作习惯:Android…
网上总是说Runable和Thread可以实现线程,这导致我对Thread和Runable有错误的理解,谁让当时不求甚解,让我一直以为实现Runable可以开启线程. 看过源码后进行区分这两者. 无论怎么样,线程都是通过Thread创建的. 其一:Runable只是一个接口,不会开启一个线程,依旧是运行在UI线程中. public interface Runnable { /** * Starts executing the active part of the class' code. Thi…
1.onTouch()方法: onTouch方式是View的OnTouchListener接口中定义的方法. 当一个View绑定了OnTouchListener后,当有Touch事件触发时,就会调用onTouch方法. (当把手放到View上后,onTouch方法被一遍一遍的调用) 2.onTouchEvent()方法: onTouchEvent方法时重载的Activity的方法 重写了Acitivity的onTouchEvent方法后,当屏幕有Touch事件时,此方法就会被调用. (当把手放到…
转载请注明博客地址. 最近看博客看到有关于RelativeLayout布局的解释,有的解释很多是错误的.因此有必要对每一个常见的布局属性进行描述.以下解释全部都是逐行进行测试的. 首先把常用的布局分组.(会对所有的对其方式解释,且主要讨论layout_alignleft layout_toleftof区别) android:layout_above 将该控件的底部至于给定ID的控件之上(只写一行代该控件底部与id控件上边缘对其,且默认于父布局左边) android:layout_below 将该…
2.3.2 ->3.0.1  Gradle版本为4.1   com.android.tools.build:gradle:3.0.x Android Monitor 被换成了 Android Profile : 新建项目需要在gradle.properties中配置 android.enableAapt2=false 才能编译通过: compile 不推荐使用,Google推荐使用新出的implement和api: api :完全等同于compile指令,没区别,你将所有的compile改成ap…
引用资源时,使用@还是?的区别,例如在设置style的时候既可以使用@也可以使用? style="?android:attr/progressBarStyleHorizontal" style="@android:style/Widget.ProgressBar.Horizontal" 使用@表示使用固定的style,而不会跟随Theme改变,这style可以在对应的style.xml中找到. 而?表示从Theme中查找引用的资源名,例如上面的progressBar…
转自:http://bbs.eeworld.com.cn/thread-430437-1-1.html 这个问题很多人问,尤其是初入嵌入式的菜鸟.其实大家都认为android是java,已经不是linux,殊不知android就是靠着linux 才发展起来的,现在来说说有啥区别吧. 嵌入式android源码架构:uboot+linux kernel+android(包含文件系统,虚拟机,UI) 嵌入式linux:这是大部分人认识的linux uboot+linux kernel+文件系统+QT(…
Oracle与Mysql的区别 项目类别 android ios 应用上 可以使用常用的android模拟器,来模拟各种android设备 只能直接使用iphone或ipad进行测试 开发语言 基于Linux内核开发,以java为主要的开发语言 基于unix系统,开发语言:objective-C语言 安装测试(不同点) 安装渠道 主要以主流的第三方提供商:腾讯宝,豌豆荚等 可通过苹果官网的app商店 安装前测试 apk文件病毒检测,利用杀毒软件对apk进行扫描 移动网络下一款应用的安装包大小超过…
*res/raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制. *res/raw和assets的不同点:1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename:assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类.2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹 *读取文件资源: 1…
在 vh.tvAddr.setCompoundDrawables(getResources().getDrawable(R.drawable.ic_real_state_loc), null, null, null);之前需要设置图片的宽高 drawable.setBounds(0, 0, 36,36);…
gravity的中文意思就是”重心“,就是表示view横向和纵向的停靠位置 android:gravity:是对view控件本身来说的,是用来设置view本身的文本应该显示在view的什么位置,默认值是左侧 android:layout_gravity:是相对于包含改元素的父元素来说的,设置该元素在父元素的什么位置 比如TextView: android:layout_gravity表示TextView在界面上的位置,android:gravity表示TextView文本在TextView的什么…
这三个版本的出现有一定的历史的原因:1.最开始只有eclipse+独立的adt一种开发环境,但是由于eclipe作为一种通用的ide,带来的问题太多,经常出现eclipse的版本不兼容adt的情况,或者adt不兼容eclipse的情况:2.为了解决这个问题,android推出了adt-bundle版本,adt-bundle版本解决eclipse和adt直接的不兼容的问题,但是由于eclipse 的bug太多,特别是对android ndk支持方面非常弱,经常出现ndk-build编译通过了,但是…
一.介绍: gravity的中文意思就是”重心“,就是表示view横向和纵向的停靠位置 (1).android:gravity:是对view控件本身来说的,是用来设置view本身的内容应该显示在view的什么位置,默认值是左侧.也可以用来设置布局中的控件位置 (2).android:layout_gravity:是相对于包含改元素的父元素来说的,设置该元素在父元素的什么位置: 比如TextView: android:layout_gravity表示TextView在界面上的位置,android:…
2013-07-07 导语:Matrix是android中对图像绘制的处理(旋转.放缩.平移等等),貌似书本翻页就是用这种方式处理的 正文: 1.基于坐标(px,py)旋转degrees度, postRotate(float degrees, float px, float py) 2.基于坐标(px,py)进行按照(sx,sy)比例进行放缩, postScale(float sx, float sy, float px, float py) ==== 以上两种方法都正常,但是当两者一起用的时候…
一.介绍: gravity的中文意思就是"重心",就是表示view横向和纵向的停靠位置 (1).android:gravity:是对view控件本身来说的,是用来设置view本身的内容应该显示在view的什么位置,默认值是左侧.也可以用来设置布局中的控件位置 (2).android:layout_gravity:是相对于包含改元素的父元素来说的,设置该元素在父元素的什么位置: 比如TextView: android:layout_gravity表示TextView在界面上的位置,and…
1 . Android长按home键呼出应用列表和切换应用,然后右滑则终止应用:2. 多分辨率测试,Android端20多种,ios较少:3. 手机操作系统,Android较多,ios较少且不能降级,只能单向升级:新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash):4.  操作习惯:Android,Back键是否被重写,测试点击Back键后的反馈是否正确:应用数据从内存移动到SD卡后能否正常运行等:5. pus…
Any View object may have an integer ID associated with it, to uniquely identify the View within the tree. When the application is compiled, this ID is referenced as an integer, but the ID is typically assigned in the layout XML file as a string, in t…
Android Fragment是Android4.0以上才有的:而FragmentActivity是为了兼容4.0以下版本的Fragment使用的. 所以如果你想兼容4.0以下Android版本使用Fragment的话,框架Activity需要继承FragmentActivity,FragmentActivity这个类是在android.support.v4.app.FragmentActivity里的. 下面介绍2种用法: 1.继承Activity的. (这个只针对4.0以上的Android…
三.Android 6.x 新增运行时权限概念 Android6.0或以上版本,用户可以完全控制应用权限.当用户安装一个app时,系统默认给app授权部分基础权限,其他敏感权限,需要开发者自己注意,当涉及敏感权限时,开发者需要手动请求系统授予权限,系统这时会弹框给用户,倘若用户拒绝,如果没有保护,app将直接崩溃,倘若有保护,app也无法使用相关功能. 新增瞌睡模式和待机模式 瞌睡模式:当不碰手机,手机自动关闭屏幕后,过一会,手机将进入瞌睡模式.在瞌睡模式下,设备只会定期的唤醒,然后继续执行等待…
*res/raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制. *res/raw和assets的不同点:1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename:assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类.2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹 *读取文件资源: 1…
不同版本SDK适配要点 1,指定minSDKVersion与targetSDKVersion 2,运行时获取版本号 3,使用系统内置的主题,会随着版本的更换而自动适配 4,用android提供的注解 @TargetApi(11)+ 版本号控制做兼容 Android 2.2 发行日期:2010.5.20 相对于上一个版本的改变: 1, 整体性能的大幅度提升 2, 3G网络共享功能 3, Flash的支持 4, App2sd功能 5, 全新的软件商店 6, 更多的Web应用API接口的开发 API(…
  android 中自定义的对象序列化的问题有两个选择一个是Parcelable,另外一个是Serializable. 一 序列化原因: 1.永久性保存对象,保存对象的字节序列到本地文件中:2.通过序列化对象在网络中传递对象:3.通过序列化在进程间传递对象. 二 至于选取哪种可参考下面的原则: 1.在使用内存的时候,Parcelable 类比Serializable性能高,所以推荐使用Parcelable类.2.Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC.3…
一.相关概念 1.Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象 2.Canvas画布,绘图的目的区域,用于绘图 3.Bitmap位图,用于图的处理 4.Matrix矩阵 二.Bitmap 1.从资源中获取Bitmap Resources res = getResources(); Bitmap bmp = BitmapF…
1.首先来看看android:layout_gravity和android:gravity的使用区别. android:gravity: 这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置.例如,在一个Button按钮控件中设置如下两个属性, android:gravity="left"和android:text="提交",这时Button上的文字“提交”将会位于Button的左部. android:layout_gravity: 这个是针对控件本身而言…
1.首先来看看android:layout_gravity和android:gravity的使用区别. android:gravity: 这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置.例如,在一个Button按钮控件中设置如下两个属性, android:gravity="left"和android:text="提交",这时Button上的文字“提交”将会位于Button的左部. android:layout_gravity: 这个是针对控件本身而言…