【Android】56、动态加载布局的技巧——使用最小宽度限定符

一、简介

本篇介绍如何使用最小宽度限定符。


二、实验平台
系统版本:Windows7 家庭普通版 32位操作系统。

三、版权声明
博主:思跡
声明:喝水不忘挖井人,转载请注明出处。
原文地址:http://blog.csdn.net/omoiato

联系方式:315878825@qq.com

Java零基础入门交流群:541462902


四、使用最小宽度限定符

在上一小节中我们使用large 限定符成功解决了单页双页的判断问题,

不过很快又有一个新的问题出现了,large 到底是指多大呢?

有的时候我们希望可以更加灵活地为不同设备加载布局, 不管它们是不是被系统认定为“ large ”,

 这时就可以使用最小宽度限定符(Smallest-width Qualifier)了。
最小宽度限定符允许我们对屏幕的宽度指定一个最小指(以dp 为单位),

然后以这个最小值为临界点,屏幕宽度大于这个值的设备就加载一个布局,

屏幕宽度小于这个值的设备就加载另一个布局。

在res 目录下新建layout-sw600dp 文件夹,

然后在这个文件夹下新建activity_main.xml布局,代码如下所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"    
    android:layout_height="match_parent" >

    <fragment     
        android:id="@+id/left_fragment"
        android:name="com.example.fragmenttest.LeftFragment"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1" />

    <fragment
        android:id="@+id/right_fragment"
        android:name="com.example.fragmenttest.RightFragment"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="3" />

</LinearLayout>

当程序运行在屏幕宽度大于600dp 的设备上时,会加载layout-sw600dp/activity_main 布局,

当程序运行在屏幕宽度小于600dp 的设备上时,则仍然加载默认的layout/activity_main 布局。

需要注意一点,最小宽度限定符是在Android 3.2 版本引入的,

由于这里我们最低兼容的系统版本是4.0,所以可以放心地使用它。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值