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

相关推荐
爱笑鱼24 分钟前
Android 系统启动机制(二):init.rc 不是普通脚本,service、action 和 property 怎样驱动启动?
android
新鲜势力呀41 分钟前
深入理解 Elliot CUDA 编程核心:PHP 实现 CUDA 并行计算思想与实践
android·开发语言·php
恋猫de小郭1 小时前
Flutter 3.47 首坑,analysis_options 问题连环回归
android·前端·flutter
ue星空3 小时前
第一个安卓程序
android
淡淡的香烟3 小时前
Androidiot蓝牙配网简单封装
android·物联网
gxgldyh3 小时前
Android Framework源码解析(九):App进程诞生全流程——从AMS请求到Zygote fork源码深度拆解
android·framework·zygote·android 启动流程·android app创建流程
牛哇网络工作室10 小时前
UnityHDRP写实数字人全流程基础5—语音输入和语音识别
android·unity·c#·游戏引擎·aigc·语音识别·xcode
一笑的小酒馆11 小时前
Androidiot蓝牙配网简单封装
android
愚公搬代码14 小时前
【愚公系列】《Android应用案例开发大全》016-LBS类应用掌上杭州(辅助工具类的开发)
android·前端
g105655913915 小时前
LAMP博客平台Wordpress实战
android·mysql·nginx·php