Skip to content
Various useful utilities for Android apps development
Branch: master
Clone or download

README.md

Android Commons

Maven Central Size

Various useful utilities for Android apps development.

API documentation provided as Javadoc.

Usage

Add dependency to your build.gradle file:

compile 'com.alexvasilkov:android-commons:2.0.2'

Main features

Views

Simple utility class to find views within layout with implicit types casting (e.g. TextView tv = Views.find(layout, R.id.text_view);) Includes other methods to simplify work with views and layouts.

Navigate

Helper methods to navigate between screens and to open external app to perform related actions, for example: share text; compose email or sms; open browser or Google Play, pick phone number and many more.

SpannableBuilder

SpannableStringBuilder implementation that helps applying various text styles to a single TextView.

Fonts

Utility to set custom fonts for all views extending TextView, uses android:tag to store font info.

InstanceStateManager

Helper methods to save and restore instance state of activities and fragments.

ItemsAdapter & LayoutItemsAdapter

BaseAdapter implementations to be used with java.util.List. LayoutItemsAdapter class provides methods to populate any ViewGroup with views from adapter with optional views recycling mechanism.

KeyboardHelper

Helper methods to show / hide keyboard and listen for keyboard state.

Convertable & ConvertUtils

Helper utils to convert one set of objects into another.

ThreadSafeDateFormatter

Thread safe wrapper for SimpleDateFormatter.

ISO8601DateFormatter

ISO 8601 date parser and formatter.

FillWidthImageView

ImageView that will be scaled to fit entire available width preserving aspect ratio (by adjusting view's height). It is also possible to set aspect ratio of the image before it is loaded into the view.

BoundedFrameLayout & BoundedLinearLayout & BoundedRelativeLayout

Base view groups implementations that allows setting maxWidth and maxHeight.

License

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.
You can’t perform that action at this time.