这两天在搞一个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的纪念。