GitXplorerGitXplorer
f

litho

public
7689 stars
761 forks
89 issues

Commits

List of commits on branch master.
Unverified
152494407808b3cb84b16ad4443992a2e4c48460

fbandroid/libraries/components/litho-espresso/src/main/java/com/facebook/litho/testing/espresso/rules/ComponentActivityTestRule.java

committed 12 hours ago
Unverified
65d4de3a41280cb880f116d4f906d25201045c10

fbandroid/libraries/components/litho-editor-core/src/main/java/com/facebook/litho/editor/instances/AtomicReferenceEditorInstance.java

committed 13 hours ago
Unverified
e00bdc472c29e3eb1641aa057f5f6dceccfc2572

Revert D62931034: Multisect successfully blamed "D62931034: [Litho][BE] Remove redundant Android version checks" for one test failure

committed 13 hours ago
Unverified
3b491aefba39bf887f0bf25bd31f6142d01f816c

fbandroid/libraries/components/litho-intellij-plugin/src/main/java/com/facebook/litho/intellij/completion/CompletionUtils.java

committed 13 hours ago
Unverified
1e6122b3143905baad7594578e4d7b46b70ea0d3

Uses new onBind style for pivot percentage style

aadityasharat committed 13 hours ago
Unverified
dc37a985c13eb8a6435d0dd543e15b843bb2773a

Adds new onBind style

aadityasharat committed 13 hours ago

README

The README file for this repository.

Litho GithubCI Bintray Join the chat at https://gitter.im/facebook/litho License

Litho is a declarative framework for building efficient UIs on Android.

  • Declarative: Litho uses a declarative API to define UI components. You simply describe the layout for your UI based on a set of immutable inputs and the framework takes care of the rest.
  • Asynchronous layout: Litho can measure and layout your UI ahead of time without blocking the UI thread.
  • View flattening: Litho uses Yoga for layout and automatically reduces the number of ViewGroups that your UI contains.
  • Fine-grained recycling: Any component such as a text or image can be recycled and reused anywhere in the UI.

To get started, check out these links:

Installation

Litho can be integrated either in Gradle or Buck projects. Read our Getting Started guide for installation instructions.

Quick start

1. Initialize SoLoader in your Application class.

public class SampleApplication extends Application {
  @Override
  public void onCreate() {
    super.onCreate();
    SoLoader.init(this, false);
  }
}

2. Create and display a component in your Activity

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    final ComponentContext c = new ComponentContext(this);

    final Component component = Text.create(c)
        .text("Hello World")
        .textSizeDip(50)
        .build();

    setContentView(LithoView.create(c, component));
}

Run sample

You can find more examples in our sample app.

To build and run (on an attached device/emulator) the sample app, execute

$ buck fetch sample
$ buck install -r sample

or, if you prefer Gradle,

$ ./gradlew :sample:installDebug

Contributing

Before contributing to Litho, please first read the Code of Conduct that we expect project participants to adhere to.

For pull requests, please see our CONTRIBUTING guide.

See our issues page for ideas on how to contribute or to let us know of any problems.

Please also read our Coding Style and Code of Conduct before you contribute.

Getting Help

  • Post on StackOverflow using the #litho tag.
  • Chat with us on Gitter.
  • Join our Facebook Group to stay up-to-date with announcements.
  • Please open GitHub issues only if you suspect a bug in the framework or have a feature request and not for general questions.

License

Litho is licensed under the Apache 2.0 License.