Я использую IconButton
в коде. Я использовал drawable с другим цветом. Когда я запускаю код, он показывает черное мышление. Так что здесь не так?
IconButton(
onClick = { }
) {
Icon(
painter = painterResource(R.drawable.ic_menu),
contentDescription = null,
)
}
Фактический результат
Ожидаемый результат
Я делюсь своим чертежным файлом здесь
ic_menu.xml
<vector xmlns:android = "http://schemas.android.com/apk/res/android"
android:width = "20dp"
android:height = "4dp"
android:viewportWidth = "20"
android:viewportHeight = "4">
<path
android:fillColor = "@color/aqua"
android:fillType = "evenOdd"
android:pathData = "M2,2m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0" />
<path
android:fillColor = "@color/aqua"
android:fillType = "evenOdd"
android:pathData = "M10,2m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0" />
<path
android:fillColor = "@color/aqua"
android:fillType = "evenOdd"
android:pathData = "M18,2m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0" />
</vector>
Обязательно ли использовать тонировку?
Вам нужно передать tint = Color.Unspecified
в Icon
, если вы хотите использовать исходный цвет значка без какого-либо оттенка по умолчанию.
Пример:
Icon(
painter = painterResource(R.drawable.ic_menu),
tint = Color.Unspecified,
contentDescription = null
)
Согласно официальной документации, Icon использует черный оттенок по умолчанию для всех ресурсов, когда вы не предоставляете какой-либо оттенок.
Как видите, он использует LocalContentColor
, который по умолчанию черный.
Почему бы вам не использовать параметр
tint
функцииIcon
?