/** * 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.facebook.samples.litho; import com.facebook.litho.Column; import com.facebook.yoga.YogaAlign; import com.facebook.yoga.YogaFlexDirection; import android.content.Intent; import android.view.View; import com.facebook.litho.ClickEvent; import com.facebook.litho.ComponentContext; import com.facebook.litho.ComponentLayout; 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 static com.facebook.yoga.YogaEdge.ALL; @LayoutSpec public class DemoListItemComponentSpec { @OnCreateLayout static ComponentLayout onCreateLayout( ComponentContext c, @Prop final String name) { return Column.create(c) .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, DemoActivity.class); intent.putExtra("demoName", name); c.startActivity(intent); } }