美文网首页
03_Compose资源

03_Compose资源

作者: 刘加城 | 来源:发表于2022-12-31 02:36 被阅读0次

Compose资源

(1)字符串

    使用stringResource()方法来获取字符串,示例:

// In the res/values/strings.xml file
// <string name="compose">Jetpack Compose</string>

// In your Compose code
Text(
    text = stringResource(R.string.compose)
)

    格式设置:

// In the res/values/strings.xml file
// <string name="congratulate">Happy %1$s %2$d</string>

// In your Compose code
Text(
    text = stringResource(R.string.congratulate, "New Year", 2021)
)

(2)尺寸Dimension

    使用dimensionResource()方法来获取尺寸,如下:

// In the res/values/dimens.xml file
// <dimen name="padding_small">8dp</dimen>

// In your Compose code
val smallPadding = dimensionResource(R.dimen.padding_small)
Text(
    text = "...",
    modifier = Modifier.padding(smallPadding)
)

(3)颜色Colors

     使用colorResource()方法来获取color,如下:

// In the res/colors.xml file
// <color name="colorGrey">#757575</color>

// In your Compose code
Divider(color = colorResource(R.color.colorGrey))

(4)图片

     使用painterResource()方法来获取图片。不论是矢量图(SVG),还是位图(png、jpg、webP等),都可以。示例如下:

// Files in res/drawable folders. For example:
// - res/drawable-nodpi/ic_logo.xml
// - res/drawable-xxhdpi/ic_logo.png

// In your Compose code
Icon(
    painter = painterResource(id = R.drawable.ic_logo),
    contentDescription = null // decorative element
)

(5)带动画的矢量Drawable

    示例:

// Files in res/drawable folders. For example:
// - res/drawable/animated_vector.xml

// In your Compose code
val image = AnimatedImageVector.animatedVectorResource(R.drawable.animated_vector)
val atEnd by remember { mutableStateOf(false) }
Icon(
    painter = rememberAnimatedVectorPainter(image, atEnd),
    contentDescription = null // decorative element
)

(6)图标Icons

    有5种不同的图标主题:Filled、Outlined、Rounded、TwoTone和Sharp。每个主题包含相同的图标,但是风格不同。使用示例:

import androidx.compose.material.Icon

Icon(Icons.Rounded.Menu, contentDescription = "Localized description")

    有一些常用的图标需要添加material依赖项,如下:

dependencies {
  ...
  implementation "androidx.compose.material:material-icons-extended:$compose_version"
}

(7)字体

    使用Font()方法来加载res/font文件夹下的字体,并创建FontFamily,然后使用它。示例:

// Define and load the fonts of the app
private val light = Font(R.font.raleway_light, FontWeight.W300)
private val regular = Font(R.font.raleway_regular, FontWeight.W400)
private val medium = Font(R.font.raleway_medium, FontWeight.W500)
private val semibold = Font(R.font.raleway_semibold, FontWeight.W600)

// Create a font family to use in TextStyles
private val craneFontFamily = FontFamily(light, regular, medium, semibold)

// Use the font family to define a custom typography
val craneTypography = Typography(
    defaultFontFamily = craneFontFamily,
    /* ... */
)

// Pass the typography to a MaterialTheme that will create a theme using
// that typography in the part of the UI hierarchy where this theme is used
@Composable
fun CraneTheme(content: @Composable () -> Unit) {
    MaterialTheme(typography = craneTypography) {
        content()
    }
}

    Over !

相关文章

  • 资源呀资源

    为啥今天资源不好要呢,走了大半天也没要到一个。走到海枯石烂也没要到。好奇怪的一天。睡觉明天加油

  • 想要获得好的的职场发展,你盘点过你有的资源吗?

    资源分为显性资源和隐性资源。 其中显性资源包括了:财产资源,人脉资源、时间资源。 隐性资源包括了:健康资源和家庭关...

  • 读书分享

    学会整合,我们每个人可以整合的资源包括:时间资源,学识资源,人际资源,健康资源,金钱资源。还有网络资源,硬件资源。

  • 项目管理知识9

    资源管理 资源包括很多:人力资源,货币资源,政治资源等资源管理包括识别,获取和管理完成项目所需要的各类资源。 资源...

  • 2017-09-17

    资源,资源,努力要资源。

  • 发现资源,舍弃资源

    每天都会留一些时间来批阅朋友圈,和朋友们的联系不甚很多,但是通过看朋友圈,还是能够从中了解大家的动态,也能间接学习...

  • 没有资源,创造资源

    小岛活动开启,发现申请时间较长,昨天突然想,专题我能达到我优质资源共享的目的,至少自己可以将资源逐步整合起来。 由...

  • 06:项目管理进度21

    资源优化(P211)资源优化技术----根据资源供需情况,来调整进度模型的技术。包括“资源平衡”和“资源平滑”资源...

  • 穷人没资源富人有资源,怎样才能有资源

    穷人没资源富人有资源,怎样才能有资源穷人没有丰富资源或只有少量的资源,而富人有大量的资源,穷人因为缺少资源而贫穷,...

  • 都说穷人没资源,富人有资源,那么到底什么是资源?

    穷人没资源富人有资源,怎样才能有资源? 穷人没有丰富资源或只有少量的资源,而富人有大量的资源,穷人因为缺少资源而贫...

网友评论

      本文标题:03_Compose资源

      本文链接:https://www.haomeiwen.com/subject/dqifcdtx.html