android基础之屏幕适配基础 sdk版本支持基础

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版本。

 xmlns:android="http://schemas.android.com/apk/res/android" ... >
     android:minSdkVersion="4" android:targetSdkVersion="15" />
    ...

设置 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像对话框:

 android:theme="@android:style/Theme.Dialog">

使activity拥有透明背景

 android:theme="@android:style/Theme.Translucent">

你也可以自定义theme:

 /res/values/styles.xml:

 android:theme="@style/CustomTheme">

也可以给整个应用利用主题

 android:theme="@style/CustomTheme">

 

 

 

 

你可能感兴趣的:(android)