我对两个XML财产有点困惑:match_parent和fill_parent。看起来两者都是一样的。它们之间有什么区别吗?
当前回答
fill_parent:视图应该与其父视图一样大。
现在,这个内容fillparent已被弃用,取而代之的是match_parent。
其他回答
FILL_PARTENT在API级别8及更高版本中被重命名为MATCH_PARENT,这意味着视图希望与其父视图一样大(减去填充)-谷歌
只是为了给它一个更接近实际行动的名字。“fill_parent”不会像名称所暗示的那样填充剩余空间(为此,您使用权重属性)。相反,它占用的空间与其布局父级一样多。这就是为什么新名称是“match_parent”
两者具有相似的功能,唯一的区别是fill_parent在API级别8之前使用,match_parent在API级别或更高级别之后使用。
fill_parent:视图应该与其父视图一样大。
现在,这个内容fillparent已被弃用,取而代之的是match_parent。
当您在XML属性中将布局宽度和高度设置为match_parent时,它将占据父视图的整个区域,即它将与父视图一样大。
<LinearLayout
android:layout_width="300dp"
android:layout_height="300dp"
android:background="#f9b0b0">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#b0f9dc"/>
</LinearLayout>
兔子的父母是红色的,孩子是绿色的。儿童占据所有区域。因为它的宽度和高度是match_parent。
注意:如果父级应用了填充,则不会包含该空间。
<LinearLayout
android:layout_width="300dp"
android:layout_height="300dp"
android:background="#f9b0b0"
android:paddingTop="20dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#b0f9dc"/>
</LinearLayout>
因此TextView高度=300dp(父高度)-(20(paddingTop)+10(paddingBottom))=(300-30)dp=270 dp
填充与匹配
fill_parent是match_parent的前一个名称
对于API级别8及更高版本,fill_parent重命名为match_parent,fill_perent现在已弃用。
所以fill_parent和match_parent是相同的。
fill_rent的API文档
视图应该与其父视图一样大(减去填充)。从API Level 8开始,此常量已弃用,并由{@code match_parent}替换。
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- 碎片中的onCreateOptionsMenu
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- DSL元素android.dataBinding。enabled'已过时,已被'android.buildFeatures.dataBinding'取代
- ConstraintLayout:以编程方式更改约束
- PANIC: AVD系统路径损坏。检查ANDROID_SDK_ROOT值
- 如何生成字符串类型的buildConfigField
- Recyclerview不调用onCreateViewHolder
- Android API 21工具栏填充
- Android L中不支持操作栏导航模式
- 如何在TextView中添加一个子弹符号?
- PreferenceManager getDefaultSharedPreferences在Android Q中已弃用
- 在Android Studio中创建aar文件