/** * Copyright 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the license found in the * LICENSE-examples file in the root directory of this source tree. */ package com.github.pavlospt.litho_glide_component_sample; import android.content.Intent; import android.view.View; import com.facebook.litho.ClickEvent; import com.facebook.litho.Column; import com.facebook.litho.Component; import com.facebook.litho.ComponentContext; import com.facebook.litho.annotations.FromEvent; import com.facebook.litho.annotations.LayoutSpec; import com.facebook.litho.annotations.OnCreateLayout; import com.facebook.litho.annotations.OnEvent; import com.facebook.litho.annotations.Prop; import com.facebook.litho.widget.Text; import com.facebook.yoga.YogaAlign; import static com.facebook.yoga.YogaEdge.ALL; @LayoutSpec public class DemoListItemComponentSpec { @OnCreateLayout static Component onCreateLayout( ComponentContext c, @Prop final String name) { return Column.create(c).flexShrink(0).alignContent(YogaAlign.FLEX_START) .paddingDip(ALL, 16) .child( Text.create(c) .text(name) .textSizeSp(18) .build()) .clickHandler(DemoListItemComponent.onClick(c)) .build(); } @OnEvent(ClickEvent.class) static void onClick( ComponentContext c, @FromEvent View view, @Prop final String name) { final Intent intent = new Intent(c.getAndroidContext(), DemoActivity.class); intent.putExtra("demoName", name); c.getAndroidContext().startActivity(intent); } }