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

jetpack compose 学习(2)

jetpack compose 学习(1) 学会了如何创建一个compose项目,并成功run了起来

今天学习run起来的界面配置
  1. 找启动界面,当然是先找到界面的配置文件: androidManifest.xml 这个文件,然后通过启动项找到主界面, 第二步 按住ctrl 鼠标指向MainActivity 即可跳转主界面
    在这里插入图片描述
  2. 进入后的界面是这样
    在这里插入图片描述
  3. 首选我们熟悉的onCreate() 方法没有改动, 沿着这个方法找下去,发现在设置界面的时候发生了变化
	kotlin写法一般是override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)	}这里变为了override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContent {MyJetpackDemoTheme {// A surface container using the 'background' color from the themeSurface(modifier = Modifier.fillMaxSize(),color = MaterialTheme.colorScheme.background) {Greeting("Android")}}}}本着换汤不换药的思想,结合着我们run 后的界面 ,我们可以先笼统的把这里MyJetpackDemoTheme 当做一个view 看待
  1. 接下来我们在看看 Greeting(“Android”) 这个方法
@Composable    // 用于声明这是一个ui组件
fun Greeting(name: String, modifier: Modifier = Modifier) {Text(    // 这是一个text组件  等同于 TextViewtext = "Hello $name!",modifier = modifier   //暂时先不管)
}
  1. 这下就跟我们run 起来的界面对应上了, 这时候就又人可能会问了,还有一个方法呢
@Preview(showBackground = true)    // 指定预览
@Composable   // 用于声明这是一个ui组件
fun GreetingPreview() {MyJetpackDemoTheme {Greeting("测试")}
}

因为这个组件没被加载(没有被调用), 因此不会显示,可在androidStudio的侧边栏打开预览界面,查看预览效果

在这里插入图片描述

在这里插入图片描述

相关文章:

  • Linux操作系统:开源的计算机革命
  • Ray RLlib User Guides:模型,处理器和动作分布
  • Java之方法引用
  • MySQL事务与MVCC详解
  • LeetCode Hot100 25.K个一组翻转链表
  • AI日报:麻省理工学院专家呼吁扩大人工智能治理和监管
  • Verilog Systemverilog define宏定义
  • web前端之中文输入法导致的高频事件、addEventListener、compositionstart、compositionend
  • HPM6750系列--第九篇 GPIO详解(基本操作)
  • Github与Gitlab
  • CentOS 7 部署 dnsmasq
  • jpa 修改信息拦截
  • 信息学奥赛一本通 第二章 顺序结构程序设计 第一、二节C语言非C++
  • 【网络编程】-- 04 UDP
  • Windows mysql5.7 执行查询/开启/测试binlog---简易记录
  • [nginx文档翻译系列] 控制nginx
  • 〔开发系列〕一次关于小程序开发的深度总结
  • ES6 ...操作符
  • Javascript设计模式学习之Observer(观察者)模式
  • Java比较器对数组,集合排序
  • oldjun 检测网站的经验
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 第2章 网络文档
  • 基于Android乐音识别(2)
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 微信开源mars源码分析1—上层samples分析
  • 温故知新之javascript面向对象
  • 优秀架构师必须掌握的架构思维
  • hi-nginx-1.3.4编译安装
  • ​2020 年大前端技术趋势解读
  • # Java NIO(一)FileChannel
  • #AngularJS#$sce.trustAsResourceUrl
  • #Linux(make工具和makefile文件以及makefile语法)
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (+4)2.2UML建模图
  • (1)Android开发优化---------UI优化
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)母版页和相对路径
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .bashrc在哪里,alias妙用
  • .bat批处理(六):替换字符串中匹配的子串
  • .libPaths()设置包加载目录
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net core 6 集成和使用 mongodb
  • .Net Core与存储过程(一)
  • .Net FrameWork总结
  • .net 程序发生了一个不可捕获的异常
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .net和jar包windows服务部署
  • .Net面试题4
  • .NET企业级应用架构设计系列之开场白