当前位置: 首页 > wzjs >正文

中国建设人才服务信息网是正规网站百度搜索风云榜手机版

中国建设人才服务信息网是正规网站,百度搜索风云榜手机版,做网站3年,网站建设公司比较今天学习和实验一下Android 的compose UI,写一些很小的Demo实验。下面和css 布局有点相似性。 如Box 看起来像html 当中的 div ,compose UI 提供Modifier 很多设置。你会发现Text,Box,Row,Image等组件 都有这个属性。我们处理任务包括对齐布局&#xff0…

今天学习和实验一下Android 的compose UI,写一些很小的Demo实验。下面和css 布局有点相似性。
如Box 看起来像html 当中的 div ,compose UI 提供Modifier 很多设置。你会发现Text,Box,Row,Image等组件 都有这个属性。我们处理任务包括对齐布局,颜色处理,背景添加,圆角处理,渐变色,点击交互。

1.如建立一个Box,实现对齐

package com.example.bleui.viewimport androidx.compose.foundation.background
import androidx.compose.foundation.border
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.width
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp@Preview
@Composable
fun AboutScreen() {Box(modifier = Modifier.fillMaxSize().background(color = Color.White)){Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Blue).align(Alignment.BottomStart))Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Red).align(Alignment.BottomEnd))}
}

尽量简单一点。这个新建一个填充的Box,背景白色,在它内部新建2个box 然后在底部进行对齐。 .align(Alignment.BottomEnd) 这个地方是底部对齐靠右边。 .align(Alignment.BottomStart) 是底部靠左边。出来的效果如下图
在这里插入图片描述

2.实现左右对齐布局 Row

在内部添加一个Row 实现左右对齐。这种和css space-between 十分相似。

package com.example.bleui.viewimport androidx.compose.foundation.background
import androidx.compose.foundation.border
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.width
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp@Preview
@Composable
fun AboutScreen() {Box(modifier = Modifier.fillMaxSize().background(color = Color.White)){Row (horizontalArrangement = Arrangement.SpaceBetween,modifier = Modifier.fillMaxWidth().border(1.dp, color = Color.Red)){Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Yellow))Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Green))}Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Blue).align(Alignment.BottomStart))Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Red).align(Alignment.BottomEnd))}
}

在这里插入图片描述

3.使用实现左右对齐布局 Box

package com.example.bleui.viewimport androidx.compose.foundation.background
import androidx.compose.foundation.border
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp@Preview
@Composable
fun AboutScreen() {Box(modifier = Modifier.fillMaxSize().background(color = Color.White)){Row (horizontalArrangement = Arrangement.SpaceBetween,modifier = Modifier.fillMaxWidth().border(1.dp, color = Color.Red)){Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Yellow))Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Green))}Box (modifier = Modifier.fillMaxWidth().border(1.dp, color = Color.Blue).padding(top = 100.dp)){Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Yellow).align(Alignment.TopStart))Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Green).align(Alignment.TopEnd))}Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Blue).align(Alignment.BottomStart))Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Red).align(Alignment.BottomEnd))}
}

在这里插入图片描述

出来的效果更加像绝对定位一样。左右两边布局可以通过Row 结合对齐SpaceBetween方式,或者Box 的对齐实现两边对齐的效果。

        Box (modifier = Modifier.fillMaxWidth().offset(x = 0.dp, y = 200.dp).border(1.dp, color = Color.Blue)){Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Yellow).align(Alignment.TopStart))Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Green).align(Alignment.TopEnd))}

其中使用box 当中offsex 更像移动对应位置一下,像固定一样坐标移动。

  Box (modifier = Modifier.fillMaxWidth().offset(x = 0.dp, y = 200.dp).border(1.dp, color = Color.Blue)

使用Modifier设置的时候,有时候会有先后情况,如果将border 提前,放offset在后,绘制出来效果就不一样。这一点在实验过程会感觉到差别。

4. Box 里面添加文本

box 里面可以放置文本 会用到很多。

        Box (modifier = Modifier.fillMaxWidth().offset(x = 0.dp, y = 200.dp).border(1.dp, color = Color.Blue)){Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Yellow).align(Alignment.TopStart)){Text("A100")}Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Green).align(Alignment.TopEnd)){Text("B100")}}

在这里插入图片描述

4.1 Box 里面的文本居中

尝试让文本居中 Modifier.align(Alignment.Center) 只要使用对齐方式进行对齐。Center 是水平和垂直居中。

        Box (modifier = Modifier.fillMaxWidth().offset(x = 0.dp, y = 200.dp).border(1.dp, color = Color.Blue)){Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Yellow).align(Alignment.TopStart)){Text("A100", modifier =Modifier.align(Alignment.Center))}Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Green).align(Alignment.TopEnd)){Text("B100", modifier =Modifier.align(Alignment.Center))}}

由此可见,Alignment的方式可以方便对齐里面元素。
在这里插入图片描述

5. Box 里面添加点击交互

如果我们希望给Box添加交互点击,使用Modifier提供的clickable 实现点击出来。

        Box (modifier = Modifier.fillMaxWidth().offset(x = 0.dp, y = 200.dp).border(1.dp, color = Color.Blue).clickable {println("click me")})

在这里插入图片描述

6. Box 里面添加背景

日常当中希望可以添加背景元素。Box可以实现对应背景添加。使用Image引用对应的位图实现。在Box 里面第一个元素实现对应背景添加。

       Box (modifier = Modifier.fillMaxWidth().offset(x = 0.dp, y = 200.dp).border(1.dp, color = Color.Blue).clickable {println("click me")}){Image(painter = painterResource(id = R.mipmap.login_bg_1),  // 替换为你的图片资源contentDescription = null,contentScale = ContentScale.Crop,modifier = Modifier.fillMaxWidth().height(100.dp))Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Yellow).align(Alignment.TopStart)){Text("A100", modifier =Modifier.align(Alignment.Center))}Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Green).align(Alignment.TopEnd)){Text("B100", modifier =Modifier.align(Alignment.Center))}}

在这里插入图片描述

7. Box的圆角处理

圆角处理是日常当中用得比较频繁。使用背景当中一个属性RoundedCornerShape 添加后背景就可以实现圆角效果。

            Box(modifier = Modifier.width(100.dp).height(100.dp).background(color = Color.Yellow,shape = RoundedCornerShape(24.dp)).align(Alignment.TopStart)){Text("A100", modifier =Modifier.align(Alignment.Center))}

在这里插入图片描述

8. Box的渐变色

使用background 当中linearGradient 处理

            Box(modifier = Modifier.width(100.dp).height(100.dp).background(brush = Brush.linearGradient(colors = listOf(Color.Blue, Color.Red),start = Offset.Zero,end =  Offset.Infinite)).align(Alignment.TopEnd)){Text("B100", modifier =Modifier.align(Alignment.Center))}

在这里插入图片描述

8. Box的渐变+圆角

使用clip 里面shape 属性,可以实现圆角效果。

            Box(modifier = Modifier.width(100.dp).height(100.dp).clip(shape = RoundedCornerShape(24.dp)).background(brush = Brush.linearGradient(colors = listOf(Color.Blue, Color.Red),start = Offset.Zero,end =  Offset.Infinite)).align(Alignment.TopEnd)){Text("B100", modifier =Modifier.align(Alignment.Center))}

在这里插入图片描述

Box 当中用到对齐,背景,颜色,渐变,描边,交互,都提供了对应处理。可以集中在Modifier 进行添加使用。今天的实验到此为止。

http://www.dtcms.com/wzjs/258109.html

相关文章:

  • 易企网络网站建设在线科技成都网站推广公司
  • WordPress出现归档seo查询排名系统
  • dedecms中英文网站 模板快速排名优化推广手机
  • 高平网站优化公司网络销售网站
  • 使用python做网站上海最新发布
  • 机构改革网站建设谷歌浏览器 免费下载
  • 搬瓦工可以长期做网站地推app推广赚佣金
  • 做网站表格单边框标记网站创建公司
  • 做诚信通网站国外媒体报道
  • wordpress 网站搬家全网关键词搜索工具
  • 免费网站建设phpseo辅助优化工具
  • 做网站 需要什么商标批量查询收录
  • wordpress怎么进登录界面长沙seo智优营家
  • 宝宝投票网站怎么做的什么是网络营销策划
  • 长沙专业做网站公司有哪些网站建设杭州
  • 流行的网站开发语言百度seo关键词排名优化
  • 用web做网站实训课心得2023今天的新闻联播
  • 在网上做黑彩网站会怎样青岛seo关键词
  • 网站改版提示无需改版销售平台软件有哪些
  • 新闻热点事件2022(最新)最近公司seo排名优化
  • wordpress建网站业务网站制作
  • 想找可以在家做的手工活去什么网站云服务器
  • 提供网站制作公司哪家专业seo自然排名关键词来源的优缺点
  • 肇庆网站建设解决方案seo推广方法集合
  • 中通建设工程管理公司网站品牌推广方案
  • 东莞百姓网招聘网站seo标题优化技巧
  • 微博推广费用seo快速排名工具
  • 宠物店网站开发文档撰写网店搜索引擎优化的方法
  • 什邡网站建设公司查域名
  • 南京h5 网站建设seo外链在线工具