Code Monkey home page Code Monkey logo

styleabletoast's Introduction

Android StyleableToast

An Android library that takes the standard Android Toast to the next level with many styling options that gives your app and user experience an extra unique feeling! Style your Toast either by code or in styles.xml!

Download the demo.apk

Features

  • Style toasts in a styles.xml or from code.
  • Set background color of the toast.
  • Set the corner radius of the toast for different shapes.
  • Set the transparency of your toast.
  • Set a stroke color and width of your toast.
  • Style the toast text with a text color or bold effect.
  • Set a custom font for the toast text.
  • Set a icon next to the toast text.
  • Set an spinning animation effect on your icon (see below example)
  • Works from Api 16+

Update version: 1.0.9 | 03 June 2017

  • IMPORTANT Replaced constructor initialisation with builder pattern!
  • Support for RTL when icons is used.
  • Added a getStyleableToast() method.
  • Made default values so user don't have to type every value manually.
  • Improved synchronization when using both Styles.xml and code together to style a toast.
  • Refactoring of methods and comments and simplified codes.

CASES:

alt tag

With spinIcon(); method:

alt tag

Usage with a style from styles.xml:

1) Style your toast in styles.xml. All available attributes:

    <style name="MyToast">
    <item name="android:textColor"></item>
    <item name="android:textStyle"></item> only bold!
    <item name="android:fontFamily"></item> For custom fonts just add the path -> fonts/myfont.ttf
    <item name="android:colorBackground"></item>
    <item name="android:strokeWidth"></item>   API 21+
    <item name="android:strokeColor"></item>   API 21+
    <item name="android:radius"></item>  radius for corners of the toast shape
    <item name="android:alpha"></item>   value between 0-255 where 255 is full solid
    <item name="android:icon">/</item>  drawable id of the icon. R.drawable.xx
    </style>

2) Pass your style in the static constructor and call show(); and you're done!

    StyleableToast.makeText(context, "Hello World!", Toast.LENGTH_LONG, R.style.StyledToast).show();

With Builder pattern:

        st = new StyleableToast
                .Builder(this)
                .text("Hello world!")
                .textColor(Color.WHITE)
                .backgroundColor(Color.BLUE)
                .build();

Installation

Add the depedency in your build.gradle. The library is distributed via jCenter

dependencies {
    compile 'com.muddzdev:styleabletoast:1.0.9'   
}

License

Copyright 2017 Muddii Walid (Muddz)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

styleabletoast's People

Contributors

pddstudio avatar khrystal avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.