广州公司制作网站亚洲长尾关键词挖掘
文章目录
- 前言
 - Button 是什么?
 - Button的创建
 - Button显示水平方向的UI
 
- IconButton是什么?
 - IconButton是创建
 
- FloatingActionButton是什么?
 - FloatingActionButton创建
 
- ExtendedFloatingActionButton是什么?
 
- 总结
 
前言
随着移动端的技术不断更新迭代,Compose也运用的越来越广泛,很多人都开始学习Compose
本文主要介绍Button的含义和基本用法
Button 是什么?
Button是按照Material Design风格来实现的,一个按钮组件
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun Button(onClick: () -> Unit,                         //点击事件modifier: Modifier = Modifier,               //修饰符enabled: Boolean = true,                     //是否启用shape: Shape = ButtonDefaults.shape,         //定义按钮形状和填充颜色colors: ButtonColors = ButtonDefaults.buttonColors(),           //按钮颜色elevation: ButtonElevation? = ButtonDefaults.buttonElevation(), //按钮阴影border: BorderStroke? = null,                                   //按钮边框contentPadding: PaddingValues = ButtonDefaults.ContentPadding,  //按钮间距interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, //监听组件状态的事件源content: @Composable RowScope.() -> Unit     //按钮的作用域
)
 
Button的创建
Button(onClick = {  }) {Text(text = "确认")
}
 
注:onClick 是必选项,用于响应用户点击事件,content 也是必选项,用于显示Button的UI
Button显示水平方向的UI
Button(onClick = {  }) {Icon(imageVector = Icons.TwoTone.Done,contentDescription = null,modifier = Modifier.size(ButtonDefaults.IconSize))Spacer(modifier = Modifier.size(ButtonDefaults.IconSpacing))Text(text = "确认")
}
 
注:content: @Composable RowScope.() -> Unit, RowScope 为水平方向作用域
IconButton是什么?
IconButton 是一个可点击的图标,一般都需要再IconButton组件提供一个图标组件
@Composable
fun IconButton(onClick: () -> Unit,              //点击事件modifier: Modifier = Modifier,    //修饰符enabled: Boolean = true,          //是否启用colors: IconButtonColors = IconButtonDefaults.iconButtonColors(), //图标按钮颜色interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },   //监听组件状态的事件源content: @Composable () -> Unit //作用域
)
 
IconButton是创建
IconButton(onClick = { },modifier = Modifier.size(16.dp)) {Icon(imageVector =Icons.Filled.Close,contentDescription = "关闭")
}
 
FloatingActionButton是什么?
FloatingActionButton是一个悬浮按钮,需要提供Icon组件
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun FloatingActionButton(onClick: () -> Unit,           //点击事件modifier: Modifier = Modifier, //修饰符shape: Shape = FloatingActionButtonDefaults.shape, //定义按钮形状和填充颜色containerColor: Color = FloatingActionButtonDefaults.containerColor, //按钮颜色contentColor: Color = contentColorFor(containerColor),      //图标颜色elevation: FloatingActionButtonElevation = FloatingActionButtonDefaults.elevation(),//阴影interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, //监听组件状态的事件源content: @Composable () -> Unit, //作用域
)
 
FloatingActionButton创建
FloatingActionButton(onClick = { }) {Icon(Icons.Filled.KeyboardArrowUp, contentDescription = null)
}
 
ExtendedFloatingActionButton是什么?
ExtendedFloatingActionButton是带有文字的悬浮框,和FloatingActionButton区别就是可以带有文字
ExtendedFloatingActionButton(onClick = { }, icon = { Icon( imageVector = Icons.Filled.Favorite, contentDescription = null)},text ={ Text(text = "添加到我喜欢")} 
)
 
总结
- Button是一个按钮组件
 - IconButton是一个图标按钮组件
 - FloatingActionButton是一个悬浮按钮,可以带有图标
 - ExtendedFloatingActionButton是一个悬浮按钮,可以带有图标和文字
 
