Android新手踩到的一些雷,记录一下~
这两天在搞一个android的app ,由于是新手,注定要踩很多坑。
这里是一些遇到的一些问题,网上各种找答案,感谢各位博主。这里记录一下,留待以后再看。
1. android layout_weight 的问题
layout_weight 布局跟空间的 layout_height (layout_width) 有很大关系;
第一种情况,如果将空间的宽或者是高设置为wrap_content,系统会自己给定控件默认的宽度和高度,再将剩下的空间按照比重的方式进行分配。
第二种情况,如果将空间的宽或者是高设置为match_parent, 这个相对复杂一点,控件首先默认都会填充满屏幕,此时空间的计算则参考此博文的计算方法,博主的理解非常深刻,一看即明了!
2. android 中的度量单位 sp dp pt px (来自这里)
dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。
dp也就是dip,这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为
160,这时dp和sp和px是一 样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来TextView的宽度 设成160px,在密度为320
的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。但如果设置成160dp或160sp的话。系统会自动 将width属性值设置成 320px的。也就是160 * 320 / 160。其中320 / 160可
称为密度比例因子。也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换。
px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。
pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;
sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。
3. Android Studio 的相关问题学习,Gradle 编译实在是慢啊,有啥好的解决方案么?
推荐来自简书的教程, 在这里去瞅瞅吧!
来自SagementFault的教程,也不错,链接在这里.
4. Android 开发中Activity的启动问题,以及逻辑处理问题。
在开发中,常常遇到一个典型问题:就是你在为按钮或者或者某些空间添加事件,通过Intent启动一系列新的Activity的时候,通过一些列的操作。。。再当你按系统的返回按钮的时候,他会一一罗列出你之前进入过的Activity;
举个例子:比如你进行注册操作,可以需要输入一些个人相关信息1之后之后,注册成功了,进行了登陆界面2,登陆之后到达APP主页面3,此时你想推出app,按照一般逻辑,你想按一下返回键(普遍用两下)退出app,然而,
如果你不做丝毫的处理,结果肯定回震惊你!那就是你按返回键的时候,系统会一一罗列出你之前的注册和登陆界面!这么看,是不是匪夷所思!所有有人说,android 总是不知道自己要返回到哪里去!
所以需要了解一下Activity的启动机制,帮你做一些工作,避免这种情况的出现!
以下是参考文章 1.Android总结篇系列:Activity启动模式(lauchMode)
5. 未完待续,给自己留个学习android的纪念。
Android新手踩到的一些雷,记录一下~的更多相关文章
- [Android新手区] SQLite 操作详解--SQL语法
该文章完全摘自转自:北大青鸟[Android新手区] SQLite 操作详解--SQL语法 :http://home.bdqn.cn/thread-49363-1-1.html SQLite库可以解 ...
- [置顶]
xamarin android toolbar(踩坑完全入门详解)
网上关于toolbar的教程有很多,很多新手,在使用toolbar的时候踩坑实在太多了,不好好总结一下,实在浪费.如果你想学习toolbar,你肯定会去去搜索androd toolbar,既然你能看到 ...
- Android 系统搜索框(有浏览记录)
实现Android 系统搜索框(有浏览记录),先看下效果: 一.配置搜索描述文件 要在res中的xml文件加创建sreachable.xml,内容如下: <?xml version=" ...
- 学习新手给Android新手的一些学习建议
时间紧张,先记一笔,后续优化与完善. Shamoo做Android开辟已有一年了,对Android开辟也有一点点了解.上面就给Android新手说说我对Android浅面的意识和一点建议吧,知道的大牛 ...
- Android新手系列教程(申明:来源于网络)
Android新手系列教程(申明:来源于网络) 地址:http://blog.csdn.net/column/details/androidcoder666.html
- android(java) 开发过程中经验及总结记录
android(java) 开发过程中经验及总结记录
- 10个常见的Android 新手误区
在过去十年的移动开发平台中,作为资深的移动开发人员,我们认为Android平台是一个新手最广为人知的平台.它不仅是一个廉价的工具,而且有着良好的开发社区,以及从所周知的编程语言(Java),使得开发A ...
- Android代码混淆及项目发布方法记录
Android代码混淆及项目发布步骤记录 本来整理了一份Android项目混淆与发布的文档,突然想到何不写篇博客,分享一下呢,如是便有了本文. Android代码混淆及项目发布步骤记录 一.清理 ...
- 常见的 Android 新手误区
在过去十年的移动开发平台中,作为资深的移动开发人员,我们认为Android平台是一个新手最广为人知的平台.它不仅是一个廉价的工具,而且有着良好的 开发社区,以及从所周知的编程语言(Java),使得开发 ...
随机推荐
- html中css、div命名规范
html中css.div命名规范 1.类class的命名规范示例 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column ...
- angularjs 下拉框
@{ Layout = null;} <!DOCTYPE html> <html><head> <meta name="viewport" ...
- 解决Mac下MX4手机无法连接adb问题之解决方案
一般的android连接mac 很方便不用安装驱动就可以啦,可是不知道为什么特殊情况下有的android手机(小米2,华为等)就是连接不上,下来就说说特殊情况下如何连接. 使用USB连接安卓手机后可以 ...
- linux限制ftp账户的访问路径
1.建用户,命令行状态下,在root用户下: 运行命令:"useradd -d /home/test test" //增加用户test,并制定test用户的主目录为/home/te ...
- HTML5 十大新特性(五)——SVG绘图
相对于canvas绘图,SVG是一种绘制矢量图的技术.全称叫做Scalable Vector Graphics,可缩放的矢量图,在2000年就已经存在,H5把它纳入了标准标签库,并进行了一些瘦身.需要 ...
- medoo–高效的轻量级PHP数据库操作类
网址:http://medoo.lvtao.net/ /*medoo.php*/ class medoo { protected $database_type = ‘mysql’; protected ...
- Mysql 拼接字段查询语句和join查询拼接和时间查询
个人平时记录的,有点乱 1.修改时间字段,如果时间字段的类型是date或者是datetime类型的 update 表名 set 时间字段 = DATE_FORMAT(NOW(),'%Y-%m-%d % ...
- IE订阅博客
思来想去,qq邮箱订阅似乎也不是很方便,尝试了下,点击“博客”中的“订阅”,博客竟然被ie订阅了,据介绍,博客中有更新,即时IE不打开,也会看到信息,这不,我来尝试了,RSS真是不试不知道,一试真方便 ...
- Ajax_showHint() 函数
showHint() 函数实现的功能是:当用户在输入框中键入字符时,网页如何与 web 服务器进行通信,完整的代码如下: <html><head><script type ...
- FPGA图像处理 两路sensor的色调不一致
怎么调?可以让两路sensor的色调一致.