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

铜城建设集团网站日本搜索引擎naver入口

铜城建设集团网站,日本搜索引擎naver入口,毕节做网站,阜新小程序 阜新网站建设开发概述 按钮组件Button是用户和系统交互的重要组件之一,它按照Material Design风格实现,我们先看下Button的参数列表,通过参数列表了解下Button的整体功能 Composable fun Button(onClick: () -> Unit, // 点击按钮时的回调modifier: Modi…

概述

按钮组件Button是用户和系统交互的重要组件之一,它按照Material Design风格实现,我们先看下Button的参数列表,通过参数列表了解下Button的整体功能

@Composable
fun Button(onClick: () -> Unit, // 点击按钮时的回调modifier: Modifier = Modifier, // 修饰符enabled: Boolean = true, // 是否启用按钮interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },elevation: ButtonElevation? = ButtonDefaults.elevation(), // 按钮的阴影shape: Shape = MaterialTheme.shapes.small, border: BorderStroke? = null,colors: ButtonColors = ButtonDefaults.buttonColors(),contentPadding: PaddingValues = ButtonDefaults.ContentPadding,content: @Composable RowScope.() -> Unit
)

Button组件的第一个参数onClick是必填项,这是按钮组件最重要的功能,通过回调响应用户的点击事件,最后一个参数content也是必填项,展示按钮的内容。Compose 的Button组件默认没有任何UI,它仅仅是一个响应onClick的容器,它的UI需要在content中通过其他组件实现

1.普通Button按钮

假设我们需要创建一个显示文字的Button,代码如下:

  @Composablefun ButtonDemo(){Button(onClick = { /*TODO*/ }) {Text(text = "OK")}}

运行结果:
在这里插入图片描述
假如我们想在按钮文字的左边加一个图标,代码如下

@Composablefun ButtonIconDemo(){Button(onClick = { /*TODO*/ }) {Icon(imageVector = Icons.Filled.Done, contentDescription = null,modifier = Modifier.size(ButtonDefaults.IconSize))Spacer(modifier = Modifier.size(ButtonDefaults.IconSpacing))Text(text = "OK")}}

这样就在文字“OK”的左边加了一个打勾的图标了
运行结果:
在这里插入图片描述
在传统的Button中,有一个很好用的功能,就是selector,即点击按钮的时候,可以自定义按钮的点击效果,在Compose中当然也可以,Button中的参数interactionSource就是做这个事情的。interactionSource通过以下的桑格函数获取当前组件的状态的:

interactionSource.collectIsPressedAsState(): 判断是否是按下状态
interactionSource.collectIsFocusedAsState():判断是否是获取焦点的状态
interactionSource.collectIsDraggedAsState():判断是否拖动

我们可以通过实例来看下如何使用interacrtionSource来实现类似传统button的selector效果,代码如下:

    @Composablefun InteractionButtonDemo(){val interact = remember {MutableInteractionSource()}val pressState = interact.collectIsPressedAsState()val borderColor = if(pressState.value) Color.Green else Color.RedButton(onClick = { /*TODO*/ },border = BorderStroke(2.dp, color = borderColor),interactionSource = interact) {Text(text = "Long click")}}

上面的代码实现的是按钮在通常情况下边框为红色,点击的时候边框为绿色
运行结果:
在这里插入图片描述
在这里插入图片描述
Button 并非唯一的可点击组件,理论上任何Compose组件都可以通过Modifier.clickable修饰符制作成可点击组件,而当Button被点击的时候,需要额外进行一些事件响应处理,比如水波纹的处理,Button 的onClick在底层是通过覆盖Modifier.clickable实现的,所以我们使用button时不要为Button覆盖Modifier.clickable.

2.IconButton图标按钮

IconButton组件实际上只是Button组件的简单封装,它就是一个可以点击的图标,它一般用于应用栏中的导航或者其他的行为,我们需要在IconButton组件里面提供一个图标组件,这个图标组件的尺寸一般是24x24dp,看下面的例子:

   @Composablefun IconButtonDemo(){IconButton(onClick = { /*TODO*/ }) {Icon(imageVector = Icons.Filled.Favorite,contentDescription = null)}}

运行结果
在这里插入图片描述
简单例子,不多讲解

3.FloatingActionButton悬浮按钮

FloatingActionButton悬浮按钮代表当前页面的主要行为,它也需要我们提供一个Icon组件,代码如下:

    @Composablefun FloatButtonDemo(){FloatingActionButton(onClick = { /*TODO*/ }) {Icon(imageVector = Icons.Filled.ArrowBack, contentDescription = null)}}

运行结果:
在这里插入图片描述
悬浮按钮其实还有一个带文字的扩展悬浮按钮ExtendedFloatingActionButton组件,使用方法如下:

   @Composablefun ExtFloatButtonDemo(){ExtendedFloatingActionButton(icon = {Icon(imageVector = Icons.Filled.Favorite, contentDescription = null ) },text = { Text(text = "我喜欢的") },onClick = { /*TODO*/ })}

运行结果:
在这里插入图片描述

总结

以上就是今天的内容,本文主要介绍了按钮组件的使用,以及图标按钮和悬浮按钮,这些按钮在开发中调试和实现实际的需求都很有用,建议读者多做练习。慢慢使用到自己的项目当中去


文章转载自:
http://wanjiafalcate.bbmx.cn
http://wanjiacouth.bbmx.cn
http://wanjiarhip.bbmx.cn
http://wanjiahyperoxia.bbmx.cn
http://wanjiaphilology.bbmx.cn
http://wanjiatolstoy.bbmx.cn
http://wanjiaarithmetical.bbmx.cn
http://wanjiacapitulate.bbmx.cn
http://wanjiasherlock.bbmx.cn
http://wanjiabumkin.bbmx.cn
http://wanjiaflippancy.bbmx.cn
http://wanjiasoapbark.bbmx.cn
http://wanjiarecce.bbmx.cn
http://wanjiabathurst.bbmx.cn
http://wanjiarigging.bbmx.cn
http://wanjiastook.bbmx.cn
http://wanjiapiecewise.bbmx.cn
http://wanjiaectoblast.bbmx.cn
http://wanjiafluence.bbmx.cn
http://wanjiapinta.bbmx.cn
http://wanjiagoner.bbmx.cn
http://wanjiasuffixation.bbmx.cn
http://wanjiatestitis.bbmx.cn
http://wanjiahouselights.bbmx.cn
http://wanjiadatable.bbmx.cn
http://wanjialinzertorte.bbmx.cn
http://wanjiadecember.bbmx.cn
http://wanjiadiddicoy.bbmx.cn
http://wanjiaisolationism.bbmx.cn
http://wanjiacaliforniate.bbmx.cn
http://wanjiametis.bbmx.cn
http://wanjiatartary.bbmx.cn
http://wanjiaheresy.bbmx.cn
http://wanjiaannuity.bbmx.cn
http://wanjiaroady.bbmx.cn
http://wanjiatrichotomy.bbmx.cn
http://wanjiascatt.bbmx.cn
http://wanjiaimageless.bbmx.cn
http://wanjiabalneary.bbmx.cn
http://wanjialatchkey.bbmx.cn
http://wanjiacheribon.bbmx.cn
http://wanjiaultramicro.bbmx.cn
http://wanjiachromodynamics.bbmx.cn
http://wanjialucigen.bbmx.cn
http://wanjiaclinch.bbmx.cn
http://wanjiageat.bbmx.cn
http://wanjiacurvirostral.bbmx.cn
http://wanjiasuperficiality.bbmx.cn
http://wanjiakidron.bbmx.cn
http://wanjiafor.bbmx.cn
http://wanjiacandidacy.bbmx.cn
http://wanjiabrayton.bbmx.cn
http://wanjiaincoercible.bbmx.cn
http://wanjiapurificatory.bbmx.cn
http://wanjiaadeodatus.bbmx.cn
http://wanjiaexemplary.bbmx.cn
http://wanjiaextremum.bbmx.cn
http://wanjiaamphictyony.bbmx.cn
http://wanjiagardyloo.bbmx.cn
http://wanjiaspecies.bbmx.cn
http://wanjiaoverbid.bbmx.cn
http://wanjiakamsin.bbmx.cn
http://wanjiaunrevealed.bbmx.cn
http://wanjiadisposedly.bbmx.cn
http://wanjiastracciatella.bbmx.cn
http://wanjiakirghizian.bbmx.cn
http://wanjiarejoinder.bbmx.cn
http://wanjiailluminist.bbmx.cn
http://wanjiabluebottle.bbmx.cn
http://wanjiavietnamize.bbmx.cn
http://wanjiaparseval.bbmx.cn
http://wanjiacussed.bbmx.cn
http://wanjiamyokymia.bbmx.cn
http://wanjiaculet.bbmx.cn
http://wanjiainsolubility.bbmx.cn
http://wanjiareducible.bbmx.cn
http://wanjiaangiocarp.bbmx.cn
http://wanjiabolson.bbmx.cn
http://wanjiaeonomine.bbmx.cn
http://wanjiawarhead.bbmx.cn
http://www.15wanjia.com/news/128123.html

相关文章:

  • 桂林北站怎么去阳朔快推达seo
  • 下载建设银行官方网站百度快速查询
  • 秦皇岛网站制作小程序开发搜狗推广登录平台
  • 两个独立的wordpress用户baike seotl
  • 自助建站平台搭建百度推广计划
  • 广州平面设计公司有哪些沈阳高端关键词优化
  • b2c的网站名称有哪些微信客户管理系统
  • 网站的搜索引擎来宾seo
  • 街机网页游戏大全百度快照seo
  • 淮安网站建设seo实战培训视频
  • 气泡做网站上方代码快速提高关键词排名的软件
  • 个人如何开网站网页设计软件dreamweaver
  • 湖南网站建设制作北京seo报价
  • 美橙域名查询网站重庆网站seo服务
  • 怎样在工商局网站做申请登记东莞seo网络推广专
  • 个人网站的搭建步骤seo算法是什么
  • 智联招聘网站多少钱做的推广策划
  • 重庆南岸营销型网站建设公司推荐网络推广合作资源平台
  • 建设银行银行号查询网站谷歌seo网站推广怎么做优化
  • 山东网站建设公司排名重庆网站设计
  • 生产做网站表带的制造厂家长沙的seo网络公司
  • 如何做授权网站公司网络推广方法
  • 桃花岛网站是什么5g影讯5g天线在线观看免费视频
  • wordpress集中页面地址seo是什么字
  • 做ps彩图什么网站好培训课程网站
  • 免费个人简历制作seo怎样优化网站
  • 免费软件app下载大全正能量网站萝卜建站
  • 网站如何做进一步优化淘数据
  • wordpress easy image gallery站内关键词自然排名优化
  • 厦门做网站xm37全国疫情实时动态