48dp 的矢量图标也有 64dp 的吗?

问题描述 投票:0回答:1

我有一个矢量图标,例如:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="48dp"
        android:height="48dp"
        android:viewportWidth="48"
        android:viewportHeight="48">
  <path
          android:pathData="....."
          android:fillColor="#ffffff"
          android:fillType="evenOdd"/>
</vector>

什么有48dp。手机图标设计为 48dp x 48dp,但平板电脑图标设计为 64dp x 64dp。

如何在代码中将此矢量图标升级为 64dp x 64dp?我更喜欢 Jetpack Compose 解决方案..

android-jetpack-compose android-drawable android-jetpack
1个回答
0
投票

您可以像这样检查设备是移动设备还是平板电脑:

解决方案1:如果您只想保留1个资源并根据条件更改大小

val context = LocalContext.current
val isTablet = isTablet(context)
Icon(
   painterResource = painterResource(R.drawable.mobileIcon),
   modifier = Modifier.size(if(isTablet) 64.dp else 48.dp)
)

解决方案2:如果您想根据情况更改资源

val context = LocalContext.current
val isTablet = isTablet(context)
Icon(
   painterResource = if(isTablet) painterResource(R.drawable.tabletIcon) else painterResource(R.drawable.mobileIcon),
   modifier = Modifier.size(if(isTablet) 64.dp else 48.dp)
)

获得

isTablet()
功能所需的依赖项:

com.google.android.gms:play-services-basement:18.2.0

© www.soinside.com 2019 - 2024. All rights reserved.