安卓设置了带drawable的background后部分机型margin失效

安卓设置了带drawable的background后部分机型margin失效

曾一峰

项目背景

接收了“前辈”的宝贵布局,在此基础上更改的需求,UI验收时发现了这部分异常,真是谢谢前辈

问题描述

android:layout_marginLeft在设置drawable的android:background时,在部分机型上失效

1
2
3
4
5
6
7
8
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp100"
android:layout_marginLeft="@dimen/dp15"
android:layout_marginTop="@dimen/dp10"
android:layout_marginEnd="@dimen/dp15"
android:background="@drawable/bg_corner5_fafafa"
android:orientation="vertical">

原因分析:

但是布局预览上和部分机型是生效的,并且失效的机型在更改drawable为color时是生效的,这一度让我认为这是drawable资源文件的问题,但是我看了半天drawable资源文件也没看出来,就那么两行代码;最后发现android:layout_marginLeft与其他的android:layout_marginEnd等属性不匹配!!!!!这时我反应过来,应该是同事写代码不规范导致的


解决方案:

layout_marginLeft更换为layout_marginStart

1
2
3
4
5
6
7
8
9
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp15"
android:layout_marginEnd="@dimen/dp15"
android:layout_marginTop="@dimen/dp10"
android:layout_marginBottom="@dimen/dp15"
android:background="@drawable/bg_corner5_fafafa"
android:orientation="vertical">

代码生效,所以平时写代码还是要规范

  • 标题: 安卓设置了带drawable的background后部分机型margin失效
  • 作者: 曾一峰
  • 创建于: 2023-02-13 14:42:16
  • 更新于: 2023-08-11 07:07:16
  • 链接: https://blog.csdn.net/shop_and_sleep?type=blog/2023/02/13/安卓设置了带drawable的background后部分机型margin失效/安卓设置了带drawable的background后部分机型margin失效/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
 评论
此页目录
安卓设置了带drawable的background后部分机型margin失效