1. 在build.gradle 文件中添加Litho依賴
dependencies {
// ...
// Litho
implementation 'com.facebook.litho:litho-core:0.14.0'
implementation 'com.facebook.litho:litho-widget:0.14.0'
compileOnly 'com.facebook.litho:litho-annotations:0.14.0'
annotationProcessor 'com.facebook.litho:litho-processor:0.14.0'
// SoLoader
implementation 'com.facebook.soloader:soloader:0.2.0'
// For integration with Fresco
implementation 'com.facebook.litho:litho-fresco:0.14.0'
// For testing
testImplementation 'com.facebook.litho:litho-testing:0.14.0'
}
再加入Sections部分的依賴:
dependencies {
// Sections
implementation 'com.facebook.litho:litho-sections-core:0.14.0'
implementation 'com.facebook.litho:litho-sections-widget:0.14.0'
compileOnly 'com.facebook.litho:litho-sections-annotations:0.14.0'
annotationProcessor 'com.facebook.litho:litho-sections-processor:0.14.0'
}
2. 初始化 SoLoader
Litho中依賴于SoLoader加載底層的布局引擎Yoga.
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
SoLoader.init(this, false);
}
}
3. 在Activity中加入Litho中預(yù)定義的Text組件
public class HelloLithoActivity extends AppCompatActivity {
private static final String TAG = HelloLithoActivity.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(TAG);
final ComponentContext c = new ComponentContext(this);
final LithoView lithoView = LithoView.create(
this /* context */,
Text.create(c)
.text("Hello, World!")
.textSizeDip(50)
.build());
setContentView(lithoView);
}
}
解釋:
LithoView 是用來渲染組件的 Android 中的 ViewGroup蕾羊,它是 Litho 中的組件與 Android 系統(tǒng)中的 View 的橋梁简烘。 例子中 Activity 的 contentView 設(shè)置成 LithoView 个束,LithoView 中展示了一個 Text 組件礼患。
Text 是 Litho 中的一個核心組件如筛,在這個包里,com.facebook.litho.widget
它有 text 和 textSize 屬性芋哭,在 Litho 中叫做 Prop ,注意這里的 Text 組件是由一個叫做 TextSpec 的類生成的见秽,同時生成了構(gòu)造器方法用于初始化 Text 組件的屬性。
Text 組件這里作為唯一的子組件添加到 LithoView 中桅打,當(dāng)然也可以一個根組件帶著幾個子組件的形式是嗜,待會會講到,這樣挺尾,一個 Hello World 就搞定了鹅搪。
看到的效果如下: