All Projects → ZieIony → Guidetocustomviews

ZieIony / Guidetocustomviews

The ultimate guide to Android custom views

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Guidetocustomviews

Materialfavoritebutton
Animated favorite/star/like button
Stars: ✭ 586 (-1.51%)
Mutual labels:  material-design, android-ui
Android Material Design For Pre Lollipop
Various UI implementations, animations & effects based on Material Design compatible with pre Lollipop devices as well. (Work in progess)
Stars: ✭ 585 (-1.68%)
Mutual labels:  material-design, android-ui
Sequent
A simple continuous animation library for Android UI.
Stars: ✭ 263 (-55.8%)
Mutual labels:  material-design, android-ui
Collapsingtoolbarlayout Subtitle
Standard CollapsingToolbarLayout with subtitle support
Stars: ✭ 244 (-58.99%)
Mutual labels:  material-design, android-ui
Bottomnavigation
This Library helps users to use Bottom Navigation Bar (A new pattern from google) with ease and allows ton of customizations
Stars: ✭ 4,299 (+622.52%)
Mutual labels:  material-design, android-ui
Materiallettericon
Material first letter icon like lollipop contacts icon. Letter(s) on a shape drawn on canvas.
Stars: ✭ 255 (-57.14%)
Mutual labels:  material-design, android-ui
Android Login
Stars: ✭ 317 (-46.72%)
Mutual labels:  material-design, android-ui
Awesomedialog
A Beautiful Dialog Library for Kotlin Android
Stars: ✭ 163 (-72.61%)
Mutual labels:  material-design, android-ui
Material Progressview
🔥A beautiful, gradual and simple used progress view for android.
Stars: ✭ 406 (-31.76%)
Mutual labels:  material-design, android-ui
Aestheticdialogs
📱 An Android Library for 💫fluid, 😍beautiful, 🎨custom Dialogs.
Stars: ✭ 352 (-40.84%)
Mutual labels:  material-design, android-ui
Customfloatingactionbutton
This view is for replacement of standard Floating Action Button from Google Support Library. It is easy to use, customizable and you can also add text to button
Stars: ✭ 222 (-62.69%)
Mutual labels:  material-design, android-ui
Cookiebar2
Android library for displaying text messages, notifications and alerts at the top or bottom of the screen. A great alternative for toast and snackbar alerts.
Stars: ✭ 499 (-16.13%)
Mutual labels:  material-design, android-ui
Bottomsheet
BottomSheet dialog library for Android
Stars: ✭ 219 (-63.19%)
Mutual labels:  material-design, android-ui
Tableview
TableView is a powerful Android library for displaying complex data structures and rendering tabular data composed of rows, columns and cells.
Stars: ✭ 2,928 (+392.1%)
Mutual labels:  material-design, android-ui
Elegantdialog
A beautiful, customizable and interactive dialog for Android written in Kotlin/Java 😍
Stars: ✭ 189 (-68.24%)
Mutual labels:  material-design, android-ui
Carbon
Material Design implementation for Android 4.0+. Shadows, ripples, vectors, fonts, animations, widgets, rounded corners and more.
Stars: ✭ 2,942 (+394.45%)
Mutual labels:  material-design, android-ui
Materialdrawer
The flexible, easy to use, all in one drawer library for your Android project. Now brand new with material 2 design.
Stars: ✭ 11,498 (+1832.44%)
Mutual labels:  material-design, android-ui
Notzz App
📝 A Simple Note-Taking App built to demonstrate the use of Modern Android development tools - (Kotlin, Coroutines, State Flow, Hilt-Dependency Injection, Jetpack DataStore, Architecture Components, MVVM, Room, Material Design Components).
Stars: ✭ 158 (-73.45%)
Mutual labels:  material-design, android-ui
Expenso
📊 A Minimal Expense Tracker App built to demonstrate the use of modern android architecture component with MVVM Architecture
Stars: ✭ 325 (-45.38%)
Mutual labels:  material-design, android-ui
Materialpreferences
A highly flexible set of lovely looking views that provides functionality of preferences.
Stars: ✭ 495 (-16.81%)
Mutual labels:  material-design, android-ui

GuideToCustomViews

The ultimate guide to Android custom views

I've been designing, writing and publishing Android custom views for the past 5 years now. I guess it's about time to sum it up and share the results.

Here you will find the topics related to custom views and a couple of case studies. Code samples will be in Java and Kotlin randomly and the code will be as simple as possible to demonstrate ideas and techniques better. I want this place to be more of a tutorial wiki than a documentation. You can find the documentation on developer.android.com/.

I'll try to add an article or two per week. If there's something missing and you think that I should write about - raise an issue and tell me. If you wish, there's a larger repository with my custom views here.

Topics

  1. Basics
  2. What to extend
  3. Prefix everything
Code
  1. Constructors
  2. Measuring
  3. Custom states
  4. State saving
  5. Edit mode
  6. Drawables
Attributes and styles
  1. Using attributes
  2. Custom attributes
  3. Custom layout attributes
Accessibility
  1. Basic accessibility
  2. Content description and events

Case studies

ProgressTextView

A progress bar that also has a text. The text should be drawn in one color on the 'done' part of the progress and in another color on the 'remaining' part.

See: guide, code.

ChartView

A simple bar chart with color state lists and bar selecting with clicks.

Topics covered: drawing on canvas, state lists, touch events.

See: code.

A more complete version of the view can be found here

FlowLayout

A layout that displays its children in rows, side to side and then in another line.

Topics covered: measuring, laying out, custom layout attributes, right to left support.

See: code.

InvalidEditText

An EditText with support for an invalid state attribute.

Topics covered: custom states.

See: guide, code.

MoodToggle

A very simple toggle with accessibility support.

Topics covered: basic accessibility.

See: guide, code.

LandscapeDrawable

An animated Drawable depicting a landscape with customizable items: trees, clouds, stars, a sun, and fog.

Topics covered: drawing on Canvas, custom drawables.

See: guide, code.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].