Android之动态加载布局

Android之动态加载布局

限定符的作用

由于屏幕大小的区别,平板电脑为双页模式,手机为单页模式,使用限定符,可以在程序运行时判断应该是使用双页模式还是单页模式。

常见的限定符

分辨率限定符

限定符描述
ldpi120 dpi 以下设备
mdpi120 dpi ~ 160 dpi 设备
hdpi160 dpi ~ 240 dpi 设备
xhdpi240 dpi ~ 320 dpi 设备
xxhdpi320 dpi ~ 480 dpi 设备

方向限定符:

限定符描述
land横屏设备
port竖屏设备

限定符的用法:

修改FragmentTest项目中的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="match_parent"
    android:layout_height="match_parent" />
</LinearLayout>

在res目录下新建layout-large 文件夹,在这个文件夹下新建一个布局,也叫做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>

layout/activity_main 布局只包含了一个碎片,即单页模式,而layout-large/
activity_main 布局包含了两个碎片,即双页模式。其中large 就是一个限定符,那些屏幕被认为是large 的设备就会自动加载layout-large 文件夹下的布局,而小屏幕的设备则还是会加载layout 文件夹下的布局。

注意:将 Activity 中 replaceFragment() 方法注释掉,因为现在的主布局已经没有 right_layout

平板运行结果:
在这里插入图片描述
手机运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值