1、android:layout_weight 属性的意义
1、权重的值指的是每个部件所占剩余空间的大小,该值与同级部件所占空间大小有关。
2、例如,我们定义一个权重为 2 的 View,另一个 View 的权重是 1,那么总数就是 3;这时第一个 View 占据 2/3 的空间,第二个占据 1/3 的空间。如果再加入第三个 View,权重设为 1,那么第一个 View(权重为 2 的)会占据 1/2 的空间,剩余的另外两个 View 各占 1/4。
3、使用权重的前提一般是给 View 的宽或者高的大小设置为 0dp,然后系统根据上面的权重规则来计算 View 应该占据的空间。但在很多情况下,如果给 View 设置了 match_parent 的属性,那么在计算权重时则不是通常的正比,而是反比。也就是说,权重值大的反而占据空间小。
4、如果只设置了一个 View 的权重大于 0,则该 View 将占据除去别的 View 本身占据的空间的所有剩余空间。
2、命令行gradle编译并安装项目
打开命令行并切换当前目录到Andriod项目的根目录,在debug模式下使用Gradle编译项目,使用gradle脚本执行assembleDebug编译项目,执行后会在build/目录下生成MyFirstApp-debug.apk。
gradle编译项目
gradlew.bat assembleDebug
编译完成后在app/build/outputs/apk/目录生成apk。
安装项目
adb install app-debug.apk
3、Android适配不同的语言
为支持多国语言,在res/中创建一个额外的values目录以连字符和ISO国家代码结尾命名,比如values-cn/ 是为语言代码为"cn"的区域设置的简单的资源文件的目录。Android会在运行时根据设备的区域设置,加载相应的资源。
例如:
MyProject/
res/
values/
strings.xml
values-es/
strings.xml
values-cn/
strings.xml
4、Android适配不同屏幕
Android用尺寸和分辨率这两种常规属性对不同的设备屏幕加以分类。
App会被安装在各种屏幕尺寸和分辨率的设备中。针对不同的屏幕尺寸和分辨率,使用不同资源来优化其外观。
有4种普遍尺寸:小(small),普通(normal),大(large),超大(xlarge)
4种普遍分辨率:低精度(ldpi), 中精度(mdpi), 高精度(hdpi), 超高精度(xhdpi)
声明针对不同屏幕所用的layout和bitmap,必须把这些可选资源放置在独立的目录中。
创建不同layout:为了针对不同的屏幕去优化用户体验,我们需要为每一种将要支持的屏幕尺寸创建唯一的XML文件。
创建不同Bitmap:我们应该为4种普遍分辨率:低,中,高,超高精度,都提供相适配的bitmap资源。这能使我们的app在所有屏幕分辨率中都能有良好的画质和效果。
5、Android适配不同系统版本
minSdkVersion:App最低兼容API的级别
targetSdkVersion:App最高适用的API级别