写一张生日贺卡

代码实现

package com.example.greetingcardimport android.media.Image
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.*
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.material.Text
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.layout.ContentScale
import androidx.compose.ui.tooling.preview.Preview
import com.example.greetingcard.ui.theme.GreetingCardTheme
import androidx.compose.ui.unit.dp
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.Role.Companion.Image
import androidx.compose.ui.unit.spclass MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContent {GreetingCardTheme {// A surface container using the 'background' color from the themeSurface(modifier = Modifier.fillMaxSize(),color = MaterialTheme.colors.background) {Greeting("Happy Birthday, Tony!","- from Alice")}}}}
}@Composable
fun Greeting(message: String, from: String) {Column {Text(text = message,fontSize = 36.sp,modifier = Modifier.fillMaxWidth().wrapContentWidth(Alignment.CenterHorizontally).padding(16.dp))Text(text = from,fontSize = 24.sp,modifier = Modifier.fillMaxWidth().wrapContentWidth(Alignment.CenterHorizontally))}
}@Composable
fun GreetingWithImage(message: String, from: String) {val image = painterResource(id = R.drawable.androidparty)// Greeting(message = message, from = from)Box {Image(painter = image,contentDescription = null,modifier = Modifier.fillMaxHeight().fillMaxWidth(),contentScale = ContentScale.Crop)Greeting(message = message, from = from)}
}@Preview(showBackground = true)
@Composable
fun GreetingCardPreview() {GreetingCardTheme {GreetingWithImage(stringResource(R.string.happy_birthday_text),stringResource(R.string.signature_text))}
}

写一个任务管理器(图片)

代码实现

package com.example.taskmanagerimport android.graphics.Picture
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.*
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.modifier.modifierLocalConsumer
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.example.taskmanager.ui.theme.TaskManagerThemeclass MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContent {TaskManagerTheme {// A surface container using the 'background' color from the themeSurface(modifier = Modifier.fillMaxSize(),color = MaterialTheme.colors.background) {Show()}}}}
}@Composable
fun TaskCompleteImage() {val image = painterResource(id = R.drawable.ic_task_completed)Image(painter = image,contentDescription = null)
}@Composable
fun Show() {Column(modifier = Modifier.fillMaxWidth().fillMaxHeight(),horizontalAlignment = Alignment.CenterHorizontally,verticalArrangement = Arrangement.Center) {TaskCompleteImage()Text(text = stringResource(R.string.task_complete),fontWeight = FontWeight.Bold,modifier = Modifier.padding(top = 24.dp, bottom = 8.dp))Text(text = stringResource(R.string.nice_work),fontSize = 16.sp)}
}@Preview(showBackground = true,
showSystemUi = true)
@Composable
fun DefaultPreview() {TaskManagerTheme {Show()}
}

Compose象限(练习weight

代码实现

package com.example.composequadrantimport android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.material.Text
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.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.example.composequadrant.ui.theme.ComposeQuadrantThemeclass MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContent {ComposeQuadrantTheme {// A surface container using the 'background' color from the themeSurface(modifier = Modifier.fillMaxSize(),color = MaterialTheme.colors.background) {ComposeQuadrant()}}}}
}@Composable
fun TextFunc(text1: String, text2: String) {Text(text = text1,fontWeight = FontWeight.Bold,modifier = Modifier.padding(bottom = 16.dp))Text(text = text2)
}@Composable
fun ComposeQuadrant() {Column(modifier = Modifier.fillMaxSize()) {Row(modifier = Modifier.weight(weight = 1f, fill = true)) {Column(modifier = Modifier.weight(1f, fill = true).fillMaxHeight().background(color = Color.Green).padding(16.dp),horizontalAlignment = Alignment.CenterHorizontally,verticalArrangement = Arrangement.Center,) {Text(text = "Text composable",fontWeight = FontWeight.Bold,modifier = Modifier.padding(bottom = 16.dp))Text(text = "Displays text and follows Material Design guidelines.",textAlign = TextAlign.Justify)}Column(modifier = Modifier.weight(1f, fill = true).fillMaxHeight().background(color = Color.Yellow).padding(16.dp),horizontalAlignment = Alignment.CenterHorizontally,verticalArrangement = Arrangement.Center,) {Text(text = "Image composable",fontWeight = FontWeight.Bold,modifier = Modifier.padding(bottom = 16.dp))Text(text = "Creates a composable that lays out and draws a given Painter class object.",textAlign = TextAlign.Justify)}}Row(modifier = Modifier.weight(weight = 1f, fill = true).background(color = Color.Red)) {Column(modifier = Modifier.fillMaxHeight().weight(1f).background(color = Color.Cyan).padding(16.dp),horizontalAlignment = Alignment.CenterHorizontally,verticalArrangement = Arrangement.Center,) {Text(text = "Row composable",fontWeight = FontWeight.Bold,modifier = Modifier.padding(bottom = 16.dp))Text(text = "A layout composable that places its children in a horizontal sequence.",textAlign = TextAlign.Justify)}Column(modifier = Modifier.fillMaxHeight().weight(1f).background(color = Color.LightGray).padding(16.dp),horizontalAlignment = Alignment.CenterHorizontally,verticalArrangement = Arrangement.Center,) {Text(text = "Column composable",fontWeight = FontWeight.Bold,modifier = Modifier.padding(bottom = 16.dp))Text(text = "A layout composable that places its children in a vertical sequence.",textAlign = TextAlign.Justify)}}}
}@Preview(showBackground = true,
showSystemUi = true)
@Composable
fun DefaultPreview() {ComposeQuadrantTheme {ComposeQuadrant()}
}

个人名片

代码实现

package com.example.mybusinesscardimport android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.*
import androidx.compose.material.Icon
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.material.Text
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Email
import androidx.compose.material.icons.outlined.Phone
import androidx.compose.material.icons.outlined.Star
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.modifier.modifierLocalConsumer
import androidx.compose.ui.modifier.modifierLocalOf
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.example.mybusinesscard.ui.theme.MyBusinessCardThemeclass MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContent {MyBusinessCardTheme {// A surface container using the 'background' color from the themeSurface(modifier = Modifier.fillMaxSize(),color = MaterialTheme.colors.background) {Show()}}}}
}@Composable
fun Topic() {Image(painter = painterResource(id = R.drawable._645857859942),contentDescription = null,modifier = Modifier.size(100.dp, 160.dp))Text(text = "Tony Wei",fontWeight = FontWeight.Bold,fontSize = 40.sp)Text(text = "Android Primary Engineer")
}@Composable
fun Information() {Row(modifier = Modifier.fillMaxWidth(),) {Spacer(modifier = Modifier.width(35.dp))Icon(modifier = Modifier.align(Alignment.CenterVertically).size(50.dp, 50.dp),imageVector = Icons.Outlined.Phone,contentDescription = null,tint = Color.Blue)Spacer(modifier = Modifier.width(40.dp))Text(text = "+86 18390856237",fontWeight = FontWeight.Bold,fontSize = 20.sp,modifier = Modifier.align(Alignment.CenterVertically))}Row(modifier = Modifier.fillMaxWidth(),) {Spacer(modifier = Modifier.width(35.dp))Icon(modifier = Modifier.align(Alignment.CenterVertically).size(50.dp, 50.dp),imageVector = Icons.Outlined.Star,contentDescription = null,tint = Color.Blue)Spacer(modifier = Modifier.width(40.dp))Text(text = "@ShowM3theCode",fontWeight = FontWeight.Bold,fontSize = 20.sp,modifier = Modifier.align(Alignment.CenterVertically))}Row(modifier = Modifier.fillMaxWidth().padding(bottom = 28.dp),) {Spacer(modifier = Modifier.width(35.dp))Icon(modifier = Modifier.align(Alignment.CenterVertically).size(50.dp, 50.dp),imageVector = Icons.Outlined.Email,contentDescription = null,tint = Color.Blue)Spacer(modifier = Modifier.width(40.dp))Text(text = "2643484090@qq.com",fontWeight = FontWeight.Bold,fontSize = 20.sp,modifier = Modifier.align(Alignment.CenterVertically))}
}@Composable
fun Show() {Column(verticalArrangement = Arrangement.Center,horizontalAlignment = Alignment.CenterHorizontally,modifier = Modifier.fillMaxSize().padding(start = 16.dp, end = 16.dp)) {Topic()}Column(verticalArrangement = Arrangement.Bottom,horizontalAlignment = Alignment.CenterHorizontally,modifier = Modifier.fillMaxSize().padding(start = 16.dp, end = 16.dp)) {Information()}
}@Preview(showBackground = true,
showSystemUi = true)
@Composable
fun DefaultPreview() {MyBusinessCardTheme {Show()}
}

Android应用开发 00:Jetpack Compose学习 生日贺卡 图片 Compose象限 名片相关推荐

  1. android fmod,Android ndk开发:fmod语音学习(二)

    在上一篇文章中,介绍以及搭建了FMOD的Android示例,这篇文章是在上一篇文章的基础上写的.所以建议首先读一下我的这篇文章. 本文使用FMOD来实现变声效果,直接使用<Android ndk ...

  2. 一眼就看懂;Android App 开发前景介绍及学习路线规划

    Android App 开发的发展趋势和前景 安卓 App 开发是大趋势 从目前的各大社交终端以及移动媒体中手机占了百分之75.5的比例,随着各种移动端的系统升级,手机 App 也在现今这个社会面临着 ...

  3. 《Android平台开发之旅》学习笔记

    第三章:Android应用程序组件 3.2 Android应用程序组件 Activity 活动--形象大使 Service 服务--老黄牛 BroadcastReceiver 广播接收器 --倾听者 ...

  4. Android Studio开发安卓app TTS学习,使用TextToSpeech类完成输入文字播放中文

    安卓TextToSpeech Android允许您将文本转换为语音.您不仅可以转换它,还可以用多种不同的语言说文本.Android 为此提供了TextToSpeech类.为了使用此类,您需要实例化此类 ...

  5. 5.NDK Android jni开发 异常处理 native奔溃解决(相机图片美化)

    http://www.droidsec.cn/常见android-native崩溃及错误原因/ https://blog.csdn.net/ddxxii/article/details/8478111 ...

  6. 【Android 应用开发】Paint 滤镜原理 之 图像结构 ( 图片文件二进制分析 | PNG文件结构 | 数据块结构 | IHDR 数据块详解 )

    文章目录 图形文件准备 ( PNG 文件 ) PNG 文件信息分类 数据块结构 IHDR 数据块 简介 IHDR 数据块 结构 图形文件准备 ( PNG 文件 ) 分析的文件准备 : 1.创建文件 : ...

  7. 《Android应用开发精解》

    <Android应用开发精解>已经投放市场,当当和京东都有售,欢迎大家购买阅读,并且批评指正.写技术书籍,不是为了收入,因为稿费实在是太少了.写书只是希望能够把一些实践经验分享给各位开发者 ...

  8. 2017Google Study Jams之L1Android Studio的安装与生日贺卡的实现

    此次活动的举办方:Google Study Jams活动官网 我的博客(同步此次活动笔记):CSDN博客.我的简书 通过前面对View和ViewGroup的认识,相信你对基本的控件(TextView, ...

  9. 安卓开发: Jetpack compose + kotlin 实现 俄罗斯方块游戏

    文章目录 前言 俄罗斯方块开发文档 1.摘要 2.开发工具选取 2.1.Compose 的自身优点 2.2.数据驱动界面 3.设计需求 3.1.功能需求 3.1.1.基本游戏功能 3.1.2.拓展功能 ...

最新文章

  1. JavaScript中的正则表达式解析
  2. OpenGL Multiple Scissors多个剪刀的实例
  3. 为linux虚拟机添加硬盘分区,虚拟机centos添加硬盘和分区挂载
  4. easypoi导出数值型_解决EasyPoi导出Excel金额数值类型
  5. linux添加sshkey,使用SSH密钥对连接Linux实例
  6. 正则表达式re中的group含义
  7. uni-app在QQ开发者工具上运行
  8. 《鲸鱼安慰了大海》精选篇章
  9. Arm中国开工礼:iPhone + AirPods Pro,我酸了!
  10. 服务器硬盘与普通硬盘有什么区别?
  11. MarkDown编辑器 - MarkText使用文档
  12. 详解i++和++i,通俗易懂
  13. Redis个人学习笔记 参考B站视频以及CSDN文档 2万多字 非常全面
  14. MySQL8.0的下载、安装、配置
  15. win2000 java,把一个普通应用程序变为win2000(NT)中的服务-JSP教程,Java技巧及代码...
  16. 市场、产品、营销、销售、品牌、管理、运营、财务、人力资源等的概念
  17. 网页退出弹出新网页或者收藏夹
  18. 三星声称干掉台湾企业 台湾科技公司严阵以待
  19. 小米9android系统耗电量大,小米9品控翻车,大批手机出现耗电异常情况!
  20. Python学习笔记(40)~10个随机分布的坐标点

热门文章

  1. 记录下server的配置
  2. 如何通过腾讯SOSO问问获得巨大IP流量?
  3. 直击|人人车回应“破产”传闻:消息不实
  4. AD15生成顶层丝印、底层丝印
  5. 南信大计算机科学与坫,校园万象 | 南信大开启无处不在“i-NUIST”模式,疑难问题,为你一一解答!...
  6. 微软亚研副院长周明离职,将出任创新工场AI工程院首席科学家
  7. Xshell Error Report,Program has stopped working
  8. 华数tv直播android,华数tv电视版apk下载-华数TV电视版下载v5.0.0.55 官方最新版__西西安卓tv下载...
  9. 从技术趋势看质量赋能
  10. DHU deeplearning 深度学习处理文本数据 章节阶测