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"后,图标则不显示,只显示了背景。

相关推荐
tangweiguo0305198711 小时前
ProcessLifecycleOwner 完全指南:优雅监听应用前后台状态
android·kotlin
介一安全12 小时前
【Frida Android】基础篇15(完):Frida-Trace 基础应用——JNI 函数 Hook
android·网络安全·ida·逆向·frida
吞掉星星的鲸鱼12 小时前
android studio创建使用开发打包教程
android·ide·android studio
陈老师还在写代码12 小时前
android studio 签名打包教程
android·ide·android studio
csj5012 小时前
android studio设置
android
hifhf12 小时前
Android Studio gradle下载失败报错
android·ide·android studio
陈老师还在写代码12 小时前
android studio,java 语言。新建了项目,在哪儿设置 app 的名字和 logo。
android·java·android studio
2501_9160074714 小时前
Fastlane 结合 开心上架(Appuploader)命令行实现跨平台上传发布 iOS App 的完整方案
android·ios·小程序·https·uni-app·iphone·webview
listhi52016 小时前
Vue.js 3的组合式API
android·vue.js·flutter