安卓layout分包

Android布局资源分包

       To live is to function,that is all there is in living.

     项目越来越大了,各种activity的布局,fragment的布局,adapter布局...,导致项目中的layout越来越多,看起来非常的混乱,这时可以将layout分包(当然最好在搭建项目的时候就完成),虽然耗时较多,但是为了后续的发展这点功夫是值得的。

   预计效果(测试):


可以看见资源文件非常的清晰明了,相比原项目舒服多了。

安卓layout分包原理


接下来介绍实现的方法:

第一步,将layout修改为lauouts

第二步,在layout资源文件下创建activities包,fragments包,adapters包

第三步,在项目的build.gradle里面的android内部,添加上创建的资源文件目录,如下图


第四步:在对应的包下建立layout,然后将对应的布局放进去即可(一定要在每个分包下都要建立layout,例如adapters包下,建立layout包,然后在将对应的adpater的布局放进去),这个时候你点击相关的layout创建新的资源应该和以前一样,如果出现问题,请检查你在build.gradle的目录是否配置完整。

最后我们看一下demo是否能够运行:


OK,一切正常。

一家之言,有误望君扶正,多谢。

看你的描述可能刚刚复制错误。fragment_map.xml才是<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ui.map.MapFragment"> <TextView android:id="@+id/text_map" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginEnd="8dp" android:textAlignment="center" android:textSize="11sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.85" /> <EditText android:id="@+id/map_input1" android:layout_width="0dp" android:layout_height="wrap_content" android:hint="请输入起点" android:minHeight="48dp" android:textSize="16sp" android:layout_marginLeft="10dp" android:layout_marginRight="110dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.1" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0" /> <EditText android:id="@+id/map_input2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginRight="110dp" android:hint="请输入终点" android:minHeight="48dp" android:textSize="16sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.008" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.07" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="80dp" android:text="搜索" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.95" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.01" /> </androidx.constraintlayout.widget.ConstraintLayout> 而fragment_settings.xml代码是<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ui.settings.SettingsFragment"> <TextView android:id="@+id/text_settings" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginEnd="8dp" android:textAlignment="center" android:textSize="11sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.85" /> <Button android:id="@+id/btn_gps" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="权限设置" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0" /> <Button android:id="@+id/btn_apps" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="关于Bus" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.1" /> <Button android:id="@+id/btn_user" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="用户调研" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.2" /> <Button android:id="@+id/btn_exit" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="退出程序" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.3" /> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/bus" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.6"/> </androidx.constraintlayout.widget.ConstraintLayout>
最新发布
10-13
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值