我有一个矢量图标,例如:
<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 解决方案..
您可以像这样检查设备是移动设备还是平板电脑:
解决方案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