先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Python全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024c (备注Python)
正文
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import kotlin.math.floor
class TestUI2 {
/**
- 测试用数据
*/
data class TestData(
val id: Int,
val name: String,
val category: String,
val state: String,
)
@Composable
fun GridView(dataList:MutableList) {
//对数据按类别和id排序
dataList.sortWith(compareBy({it.category},{it.id}))
/**
- 区间宽度,随窗口尺寸变化更新
*/
var districtWidth by remember { mutableStateOf(0f) }
/**
- 每个方框的尺寸
*/
val gridBoxWidth:Float=200f
/**
- 每列方框的数量
*/
var everyRowBoxQuantity:Int
Column (
modifier = Modifier
//可滚动
.verticalScroll(rememberScrollState())
){
BoxWithConstraints {
//获取Column最大宽度
districtWidth=maxWidth.value
//计算每列方框的数量
everyRowBoxQuantity=floor(districtWidth/gridBoxWidth).toInt()
//类别表
val categoryList:MutableList = mutableListOf()
//显示列表,类别-数据列表
val gridList:MutableMap<String,List> = mutableMapOf()
dataList.groupBy { it.category }.forEach { t, u ->
categoryList.add(t)
gridList.put(t,u)
}
Column {
for(i in gridList){
Text(“种类”+i.key)
GridRow(everyRowBoxQuantity,i.value)
}
}
}
}
}
@Composable
fun GridRow(everyRowBoxQuantity:Int,rowList:List){
var boxQuantity=everyRowBoxQuantity-1
//至少显示一行
if(boxQuantity<=0)boxQuantity=1
//分配每行box时计数
var i=1
//每行显示的内容
val everyRowList:MutableList = mutableListOf()
for(it in rowList){
everyRowList.add(it)
//每行分配完成或最后一个元素时,显示Row
if(i%boxQuantity0||itrowList.last())
{
Row {
everyRowList.forEach {
GridBox(it)
}
}
everyRowList.clear()
}
i++
}
}
@Composable
fun GridBox(testData: TestData) {
var u:Color=Color.Black
//不同的状态显示不同的值
when(testData.state){
“0”->u= Color.Black
“1”->u= Color.Blue
“2”->u= Color.Green
}
Box(
modifier = Modifier
.padding(16.dp)
.width(200.dp)
.height(130.dp)
.background(u)
){
Column {
Text(testData.id.toString())
Text(testData.name)
}
}
}
}
我正好薅到这本谷歌内部大佬根据实战编写的《Jetpack Compose最全上手指南》,从入门到精通,教程通俗易懂,实例丰富,既有基础知识,也有进阶技能,能够帮助读者快速入门,是你学习Jetpack Compose的葵花宝典,快收藏起来!!!
第一章 初识 Jetpack Compose
1. 为什么我们需要一个新的UI 工具?
2. Jetpack Compose的着重点
-
加速开发
-
强大的UI工具
-
直观的Kotlin API
3. API 设计
4. Compose API 的原则
-
一切都是函数
-
顶层函数(Top-level function)
-
组合优于继承
-
信任单一来源
5. 深入了解Compose
-
Core
-
Foundation
-
Material
6. 插槽API
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
lbmhlaQ,shadow_50,text_Q1NETiBA56iL5bqP5aqb56eD56eD,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
[外链图片转存中…(img-2wAEwwEi-1713144416667)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!