我正在嘗試為底部導航設定一個圖示,如下所示:
sealed class Screen(val route: String, val label: String, val icon: ImageVector) {
object Home : Screen("home", "Home",R.drawable.outline_home_black_24)
object History : Screen("history", "History", R.drawable.outline_history_black_24)
}
但它說我需要將引數切換到 Int。感謝幫助,謝謝。:)
uj5u.com熱心網友回復:
是的。Refrences likeR.drawable.outline_home_black_24不是實際的ImageVector而是 Int 參考,以幫助在代碼中獲取它們。要獲取實際影像,您應該使用類似ContextCompat.getDrawable(context, R.drawable.***)獲取實際Drawable檔案的方法。這意味著正確的用法應該是
sealed class Screen(val route: String, val label: String, @DrawableRes val icon: Int)
如果R.drawable.***未通過類似的可繪制資源,則額外的注釋會發出警告
uj5u.com熱心網友回復:
試試這個
sealed class Screen(val route: String, val label: String, val icon: ImageVector) {
object Home : Screen("home", "Home", painterResource(id = R.drawable.outline_home_black_24))
object History : Screen("history", "History", painterResource(id = R.drawable.outline_history_black_24))
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/392508.html
標籤:安卓 科特林 android-jetpack-compose 安卓资源
