JetpackCompose从入门到实战学习笔记2——Modifier的简单使用

JetpackCompose从入门到实战学习笔记2——Modifier的简单使用

1.Image的使用:

@Composable
fun Image(modifier: Modifier) {
    Row {
        Image(
            painterResource(id = R.mipmap.iv_pic),
            contentDescription = stringResource(R.string.description),
            modifier = modifier
                .size(60.dp)//宽和高同时设置成60
                .clip(CircleShape)//将图片裁剪成圆形
        )
        //设置间距
        Spacer(Modifier.width(20.dp))
        Image(
            painterResource(id = R.mipmap.iv_pic),
            contentDescription = stringResource(R.string.description),
            modifier = Modifier
                .size(width = 100.dp, height = 100.dp)
                .clip(CircleShape)
        )
    }
}

2.Image的效果如下:

在这里插入图片描述

3.Button的使用:

@Composable
fun Button(modifier: Modifier) {
    Row {
        Spacer(Modifier.width(200.dp))
        Text(
            text = stringResource(R.string.description),
            style = typography.bodySmall.copy(color = Color.White),
            textAlign = TextAlign.Center,
            modifier =
            Modifier
                .width(80.dp)
                .clickable(onClick = {})
                .shadow(3.dp, shape = backgroundShape)
                .clip(backgroundShape)
                .background(
                    brush = Brush.verticalGradient(
                        colors = listOf(
                            Color.Red,
                            Color.Blue,
                        ),
                        startY = 0f,
                        endY = 80f
                    )
                )
                .padding(vertical = 10.dp)
        )
    }
}

4.Button的效果预览:

在这里插入图片描述

5.Background的使用:

@Composable
fun background(modifier: Modifier) {
    Row {
        Spacer(Modifier.width(300.dp))
        Box(
            modifier = modifier
                .size(100.dp)
                .background(color = Color.Red)
        )
        {
            Text(text = "纯色", modifier.align(Alignment.Center))
        }
        Spacer(Modifier.width(40.dp))
        Box(
            modifier
                .size(150.dp)
                .background(brush = verticalGradientBrush)
        )
        {
            Text(text = "渐变色", modifier.align(Alignment.Center))
        }
    }
}

    //创建brush渐变色
    private val verticalGradientBrush = Brush.verticalGradient(
        colors = listOf(
            Color.Red,
            Color.Green,
            Color.Blue
        ),
    )

6.Background的效果预览:

在这里插入图片描述

7.fillMaxSize:

@Composable
fun fillMaxSize(modifier: Modifier) {
    Box(
        modifier = modifier
            .fillMaxSize()//宽高同时铺满屏幕
            .background(Color.Red)
    )
    Box(
        modifier = modifier
            .fillMaxHeight()
            .width(60.dp)//高度铺满屏幕
            .background(Color.Blue)
    )
    Box(
        modifier = modifier
            .fillMaxWidth()
            .height(60.dp)
            .background(Color.Green)
    )//宽度铺满屏幕
}

8.fillMaxSize的效果预览:

在这里插入图片描述

9.padding的使用:

@Composable
fun padding(modifier: Modifier) {
    Box(
        modifier = modifier
            .padding(8.dp)
            .border(2.dp, Color.Red, shape = RoundedCornerShape(2.dp))
            .padding(8.dp)

    )
      {
            Spacer(
                modifier = modifier
                    .size(width = 200.dp, height = 20.dp)
                    .background(Color.Red)
            )
        }
}

10.padding的效果预览:

在这里插入图片描述

11.weightModifier的使用:

@Composable
fun weightModifierDemo(modifier : Modifier){
    Row {
        Spacer(Modifier.width(620.dp))//单个效果时设置为100,整体为620
        Column(
            modifier = Modifier
                .width(300.dp)
                .height(200.dp)
        ) {
            Box(
                modifier = modifier
                    .weight(1f)
                    .fillMaxWidth()
                    .background(Color.Green)
            )
            Box(
                modifier = modifier
                    .weight(1f)
                    .fillMaxWidth()
                    .background(Color.Blue)
            )
            Box(
                modifier = modifier
                    .weight(1f)
                    .fillMaxWidth()
                    .background(Color.Red)
            )
        }
    }
}

12.weightModifier的效果预览:

在这里插入图片描述

13.完整的效果如下:

在这里插入图片描述

14.demo的源码地址如下:

https://gitee.com/jackning_admin/compose-modifier-demo

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值