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

项目背景

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

问题描述

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

           <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

       <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">

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

猜你喜欢

转载自blog.csdn.net/shop_and_sleep/article/details/128254360
今日推荐