Android 14 关于imageview设置动态padding值导致图标旋转的问题

复制代码
<ImageView
    android:id="@+id/imageView"
    android:layout_width="61dp"
    android:layout_height="61dp"
    android:background="#cccccc"
    android:scaleType="centerCrop"
    android:src="@drawable/googleg_icon_24" />

googleg_icon_24.xml

复制代码
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:height="24dp"
    android:width="24dp"
    android:viewportWidth="24"
    android:viewportHeight="24">
    <path
        android:fillColor="#fff"
        android:pathData="M12,13.9V10.18H21.36C21.5,10.81 21.61,11.4 21.61,12.23C21.61,17.94 17.78,22 12.01,22C6.48,22 2,17.52 2,12C2,6.48 6.48,2 12,2C14.7,2 16.96,2.99 18.69,4.61L15.85,7.37C15.13,6.69 13.88,5.88 12,5.88C8.69,5.88 5.99,8.63 5.99,12C5.99,15.37 8.69,18.12 12,18.12C15.83,18.12 17.24,15.47 17.5,13.9H12Z"/>
</vector>

正常显示

复制代码
int drawablePadding = 48;
Log.i(TAG, "getWidth()=" + imageView.getWidth()+" x getHeight()=" + binding.imageView.getHeight());
imageView.setPadding(drawablePadding, drawablePadding, drawablePadding, drawablePadding);

设置padding值后

imageview中的图标被旋转了180°显示,具体原因不清楚。去掉scaleType="centerCrop"后,图标则不显示,只显示了背景。

相关推荐
青莲8431 小时前
Java内存模型(JMM)与JVM内存区域完整详解
android·前端·面试
林栩link1 小时前
【车载Android】「场景引擎」设计思路分享
android
锅拌饭3 小时前
IM 推拉的道与术(四)
android
火柴就是我3 小时前
学习一些常用的混合模式之BlendMode. SRC_OVER
android·flutter
青莲8433 小时前
Java并发编程高级(线程池·Executor框架·并发集合)
android·前端·面试
Android-Flutter3 小时前
android compose LazyColumn 垂直列表滚动 使用
android·kotlin
用户74589002079544 小时前
Handler机制
android
福大大架构师每日一题4 小时前
milvus v2.6.8 发布:搜索高亮上线,性能与稳定性全面跃升,生产环境强烈推荐升级
android·java·milvus
草莓熊Lotso6 小时前
脉脉独家【AI创作者xAMA】| 开启智能创作新时代
android·java·开发语言·c++·人工智能·脉脉