就像EditText 一样,在 Compose 中我们可以使用TextField和BaseTextField。BaseTextField仍处于试验阶段,可以随时删除或永久添加。因此,要使用BaseTextField,您需要添加@ExperimentalFoundationApi注释。 下面是一个简单的例子BaseTextField: @ExperimentalFoundationApi @Composable fun SimpleTextFieldComponent() { Surface(col...
就像EditText 一样,在 Compose 中我们可以使用TextField和BaseTextField。BaseTextField仍处于试验阶段,可以随时删除或永久添加。因此,要使用BaseTextField,您需要添加@ExperimentalFoundationApi注释。 下面是一个简单的例子BaseTextField: @ExperimentalFoundationApi@ComposablefunSimpleTextFieldComponent(){ Surface(color = ...
GitHub地址:https://github.com/MindorksOpenSource/Jetpack-Compose-Android-Examples 注意:要使用 Jetpack Compose,您需要拥有最新的 Canary 版本的 Android Studio 4.2。因此,您可以转到Android Studio 预览页面并下载最新的 Canary 版本,然后创建一个 Empty Compose Activity。 Compose 函数 在Jetpack Compose 中,可组合...
CompositionLocal 类位于 androidx.compose.runtime 包下,总的来说是用于在 composition 树中共享变量的值。在 Compose 构建的 composition 树中,如果需要将顶层的 Composable 函数中的某个变量传递到最底层的 Composable 函数,通常最简单有效的方法就是:1)定义一个全局变量,通过全局变量传值;2)中间层的 Composable ...
Jetpack Compose是Google开发的用于构建原生应用的UI工具包,它使用kotlin语言进行开发,基于声明式编程描述UI。 为什么 长久以来Android开发页面是使用XML的形式描述UI,操作系统通过解析XML文件生成view,然后使用Java/Kotlin在Activity中findViewById找到对应的view,通过调用view提供的方法对view进行诸如设置显隐、背景色等操作。
为了能够更好地演示AnimatedVisibility的作用,这里我从写给初学者的Jetpack Compose教程,Lazy Layout这篇文章中找了一个我们之前学习过的例子,并稍微进行了一点改造。 下面的代码会实现一个可滚动的列表和一个Fab按钮,默认情况下Fab按钮会显示在页面的右下角并且...
Card Card 是一种可组合的布局,用于制作 CardView。 以下是相同的示例: @Composablefun SimpleCardComponent() {Card(backgroundColor = Color(0xFFFFA867.toInt()),modifier = Modifier.padding(16.dp).fillMaxWidth()) {Text(text = "Simple Card",textAlign = TextAlign.Center,style = TextStyle(fontSize...
网络请求依然用retrofit, 视频列表API随便找一个即可,分页跟上次一样选用Paging3,个人感觉非常搭配Jetpack Compose 视频播放器的选择: 播放器可以选用大名鼎鼎的 ijkplayer,我就用ExoPlayer,自己贴了个controller_view上去。 横竖屏切换: 同一个PlayerView,全屏的时候 ,先从列表item中remove(),然后addView()给R.id...
Card { var expanded by remember { mutableStateOf(false) } Column(Modifier.clickable { expanded = !expanded }) { Image(painterResource(R.drawable.jetpack_compose)) AnimatedVisibility(expanded) { Text( text = "Jetpack Compose", style = MaterialTheme.typography.h2 ...
后面的几种基本上用的很少了,而 Compose 的布局方式总共有三种:Column 纵向排列布局、Row 横向排列布局、Box 堆叠排列布局。先来个简单的例子: // code 1 @Composable fun PhotographerCard() { Column { Text("小明", fontWeight = FontWeight.Bold)...