2024年安卓最新Android声明式UI框架-Litho-初探——基础使用篇,2024年最新字节跳动面试官是什么等级

最后送福利了,现在关注我可以获取包含源码解析,自定义View,动画实现,架构分享等。
内容难度适中,篇幅精炼,每天只需花上十几分钟阅读即可。
大家可以跟我一起探讨,有flutter—底层开发—性能优化—移动架构—资深UI工程师 —NDK相关专业人员和视频教学资料,还有更多面试题等你来拿

录播视频图.png

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

初始化SoLoader.Litho依赖,SoLoader用于加载底层布局引擎Yoga

SoLoader.init(this, false);

使用基础Component

Component Specs

Litho中的视图单元叫做Component,可以直观的翻译为组件

组件分为两种类型 : Layout Spec:将其他组件组合到特定的布局中。这相当于 Android 上的 ViewGroup 。

Mount Spec:可以渲染 View 或 Drawable 组件。 现在,让我们来看看 Layout Spec 的整体结构:

Component的类名必须以Spec结尾,不然会报错

/**

  • Component
  • 组件 Spec 只是一个普通的java类,带有一些特殊的注解。
  • 组件 Spec 是完全无状态的,没有任何类成员。
  • 使用 @Prop 标注的参数将自动成为组件构建器的一部分。
    /
    @LayoutSpec // 将其他组件组合到特定的布局中。这相当于 Android 上的 ViewGroup
    class MainLithoViewSpec {
    /
    *
  • @OnCreateLayout 注解的方法必须具有 ComponentContext 作为其第一个参数
  • 后跟使用 @Prop 标注的参数列表。注解处理器将在构建时对参数列表以及API中其他约束条件进行验证。
    */
    @OnCreateLayout
    fun onCreateLayout(
    context: ComponentContext,
    @Prop color: Int,
    @Prop title: String
    ): Component {
    return Column.create(context)
    .paddingDip(YogaEdge.ALL, 16f)
    .backgroundColor(Color.DKGRAY)
    .child(
    Text.create(context).text(title)
    .textColor(color)
    .textSizeDip(25f)
    )
    .child(
    Text.create(context).text(“这是小标题”)
    .textColor(Color.GREEN)
    .textSizeDip(16f)
    )
    .build()

}
}

在Activity中使用

···
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val c = ComponentContext(this);

val component2 = MainLithoView.create©.color(Color.WHITE).title(“这是一个Title”).build()

val component = MainLithoViewSpec.onCreateLayout(c, Color.WHITE, “这是一个Title”)
// 这里不在使用xml,使用 Litho的Component
setContentView(LithoView.create(c, component));
}
···

运行效果:

组件 Spec 类在编译时期会生成与 Spec 名相同但没有 Spec 后缀的ComponentLifecycle 子类。例如,MainLithoViewSpec 类会生成一个 MainLithoView 类。

总结:

各行各样都会淘汰一些能力差的,不仅仅是IT这个行业,所以,不要被程序猿是吃青春饭等等这类话题所吓倒,也不要觉得,找到一份工作,就享受安逸的生活,你在安逸的同时,别人正在奋力的向前跑,这样与别人的差距也就会越来越遥远,加油,希望,我们每一个人,成为更好的自己。

  • BAT大厂面试题、独家面试工具包,

  • 资料包括 数据结构、Kotlin、计算机网络、Framework源码、数据结构与算法、小程序、NDK、Flutter,


网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

618156601)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值