Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/evant/spanalot
A simple utility for creating and modifying spannables in Android
https://github.com/evant/spanalot
Last synced: about 1 month ago
JSON representation
A simple utility for creating and modifying spannables in Android
- Host: GitHub
- URL: https://github.com/evant/spanalot
- Owner: evant
- License: apache-2.0
- Created: 2014-12-02T02:31:30.000Z (about 10 years ago)
- Default Branch: main
- Last Pushed: 2020-06-14T22:52:03.000Z (over 4 years ago)
- Last Synced: 2023-03-22T12:35:41.358Z (almost 2 years ago)
- Language: Java
- Size: 117 KB
- Stars: 11
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
spanalot
========A simple utility for creating and modifying spannables in Android
This may end up on maven central sometime in the future, in the mean time, it's just one class
so you can copy-and-paste it into your project.
https://github.com/evant/spanalot/blob/master/spanalot/src/main/java/me/tatarka/spanalot/Spanalot.java### Usage
```java
import me.tatarka.spanalot.Spanalot;
import static me.tatarka.spanalot.Spanalot.*;// Construct a new spanalot with some global spans.
// You can use the provided functions to simplify common spans.
Spanalot spanalot = new Spanalot(backgroundColor(getResources().getColor(R.color.red_200)))
// Append segments of text with spans that apply to them.
.append("Hello, ", style(Typeface.ITALIC))
.append("World!", textColor(getResources().getColor(R.color.purple_900)),
textSizeRelative(1.5f),
// You can use your own spans if you feel like it.
new MyCustomSpanThatDoesWhatever());// Spanalot is just a Spanned, use it like one!
textView.setText(spanalot);// If you just need a single piece, you can use a more convienent constructor
textView.setText(new Spanalot("Hello, World!", style(Typeface.ITALIC)));// You can format like String.format() too. Unlike String.format() spans are preserved!
Spanalot spanalot = new Spanalot(backgroundColor(getResources().getColor(R.color.red_200)))
.format("%1$s, %2$s!")
.arg("Hello", style(Typeface.ITALIC))
// Any styled CharSequence will work.
.arg(Html.fromHtml("World"));
```That's it! What could be simpler?