This library makes styling and using dialogs a piece of cake.
Features:
- Compatible with Holo style and Android Design Guidelines
- Change style for all dialogs only by changing a few color resources
- Same look for Android 2.2+
- Same API as native Android DialogFragments
SimpleDialogFragment
class, which makes displaying simple dialogs a one line of code
With Gradle:
compile 'eu.inmite.android.lib:android-styled-dialogs:1.1.2@aar'
With Maven:
<dependency>
<groupId>eu.inmite.android.lib</groupId>
<artifactId>android-styled-dialogs</artifactId>
<version>1.1.2</version>
<type>apklib</type>
</dependency>
Manually:
- clone the project
- add it as library project in your IDE
- include latest support library
Add following into your application theme:
<item name="sdlDialogStyle">@style/DialogStyleLight.Custom</item>
or
<item name="sdlDialogStyle">@style/DialogStyleDark.Custom</item>
Define your dialog style, example for light theme:
<style name="DialogStyleLight.Custom">
<!-- anything can be left out: -->
<item name="titleTextColor">@color/dialog_title_text</item>
<item name="titleSeparatorColor">@color/dialog_title_separator</item>
<item name="messageTextColor">@color/dialog_message_text</item>
<item name="buttonTextColor">@color/dialog_button_text</item>
<item name="buttonSeparatorColor">@color/dialog_button_separator</item>
<item name="buttonBackgroundColorNormal">@color/dialog_button_normal</item>
<item name="buttonBackgroundColorPressed">@color/dialog_button_pressed</item>
<item name="buttonBackgroundColorFocused">@color/dialog_button_focused</item>
<item name="dialogBackground">@drawable/dialog_background</item>
</style>
Easy:
SimpleDialogFragment.createBuilder(this, getSupportFragmentManager()).setMessage(R.string.message).show();
SimpleDialogFragment.createBuilder(this, getSupportFragmentManager()).setTitle(R.string.title).setMessage(R.string.message).show();
SimpleDialogFragment.createBuilder(this, getSupportFragmentManager()).setTitle(R.string.title).setMessage(R.string.message).setPositiveButtonText(R.string.positive_button).setNegativeButtonText(R.string.negative_button).show();
Simply implement interface ISimpleDialogListener
in your Activity/Fragment. Listener's callbacks have requestCode
parameter - you can use it if you have more dialogs in one Activity/Fragment.
For Fragments use setTargetFragment() method in the builder.
Implement interface ISimpleDialogCancelListener
in your Activity/Fragment.
Extend BaseDialogFragment
and look at demo app implementation. It shows two types of those implementations:
FavoriteCharacterDialogFragment
shows a list in the dialog using extendingBaseDialogFragment
JayneHatDialogFragment
shows a custom view in the dialog using extendingSimpleDialogFragment
The library could be improved with more common dialogs. Pull requests are encouraged!
- date picker (spinners or calendar)
- time picker
- edittext dialog
- password dialog
- ...
Theodor Dialogs was a famous Czech painter, uncle of Jára Cimrman. Jára Cimrman was a playwright, philosopher, inventor, teacher, poet, mathematician and more but he lacked painting skills. That's why Theodor was helping him with many projects. Just like Android and this library do.
See our other Czech personalities who help with #AndroidDev.