Android 基础之不同屏幕适配:
当你创建布局文件的时候,应该根据不同的屏幕创建不同的布局文件放在不同的文件夹下:
例如 你创建 layout_main.xml 针对大屏幕可以放在 res/layout-large/文件夹下
在res/layout/文件夹下也应该有layout_main.xml android系统会自动查找适合的布局文件。
针对横屏竖屏也应该这样做:
MyProject/
res/
layout/ 竖屏
main.xml
layout-land/ 横屏
main.xml
layout-large/ # 大屏 竖屏(portrait)
main.xml
layout-large-land/ # 大屏横屏
Main.xml
针对图片资源你应该设置不同分别率来区分图片适应屏幕大小:
· xhdpi: 2.0
· hdpi: 1.5
· mdpi: 1.0 (baseline)
· ldpi: 0.75
Android 屏幕分别率 屏幕密度关系
Ldpi mdip hdpi xhdpi 比值关系 3:4:6:8
如果你放一个200*200的图像在xhdpi类型密度的设备上,你就需要在产生同样的图:
150*150为了hdpi设备,100*100在mdpi的设备上,这个是根据比值计算的。类似下面这样放置你的图片。
MyProject/
res/
drawable-xhdpi/
awesomeimage.png
drawable-hdpi/
awesomeimage.png
drawable-mdpi/
awesomeimage.png
drawable-ldpi/
awesomeimage.png
引用资源只要正常引用就可以了, @drawable/awesomeimage 系统会自动查找适合的图片.
注意:当你提供hdpi的资源 ldpi就不需要设置图片了,系统会自动将hdpi降低数值,来适配低分辨率的屏幕。
Android基础之 不同平台的版本:
在AndroidManifest.xml文件中设置不同的sdk版本。
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
...
</manifest>
设置 minSdkVersion 支持的最小版本,和最新版本 targetSdkVersion
在程序运行时检查版本可以通过Build类
private void setUpActionBar() {
// 确保sdk版本高与HoneyComb 这样可以安全使用 actionBar.不能使用也不会异常退出
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}
}
Android 给Activity设置不同的主题,在AndroidMainfest.xml activity标签下使用:
让activity像对话框:
<activity android:theme="@android:style/Theme.Dialog">
使activity拥有透明背景
<activity android:theme="@android:style/Theme.Translucent">
你也可以自定义theme:
/res/values/styles.xml:
<activity android:theme="@style/CustomTheme">
也可以给整个应用利用主题
<application android:theme="@style/CustomTheme">