Create awesome forms in material design style
The following fields are included:
- Generic one/two lines field (
fields.FieldGeneric
class) - Text input field (
fields.FieldTextInput
class) - Date range field (
fields.FieldDateRange
class) - Checkbox field (
fields.FieldCheckbox
class) - Dynamic shopping list field (
extra.ShoppingList
class) - List field (
extra.List
class) - Header view (
texts.Header
class) - Simple text view (
texts.Text
class)
Add to your project build.gradle
file
allprojects {
repositories {
// ...
maven { url "https://dl.bintray.com/gabrielepmattia/maven" }
// ...
}
}
And in the app build.gradle
dependencies {
// ...
implementation 'com.gabrielepmattia.me:materialfields:0.0.1-beta'
// ...
}
Here's a video showing the most relevant features of the library:
The xml file for the form shown in the video is the following
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.gabrielepmattia.materialfields.fields.FieldGeneric
android:id="@+id/add_module_selector"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawable="@drawable/cards_variant"
app:subtitle="Module content"
app:title="@string/module_type" />
<com.gabrielepmattia.materialfields.texts.Header
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:text="Configuration" />
<com.gabrielepmattia.materialfields.fields.FieldInputText
android:id="@+id/add_module_survey_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawable="@drawable/label"
app:required="true"
app:title="@string/name" />
<com.gabrielepmattia.materialfields.fields.FieldInputText
android:id="@+id/add_module_survey_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawable="@drawable/pencil"
app:title="@string/description" />
<com.gabrielepmattia.materialfields.texts.Header
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:text="Options" />
<com.gabrielepmattia.materialfields.extra.ShoppingList
android:id="@+id/add_module_survey_options_shopping_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:addItemPlaceHolder="@string/survey_add_option_placeholder" />
<com.gabrielepmattia.materialfields.texts.Text
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:text="These options represent the options of the survey you can add as you want" />
<com.gabrielepmattia.materialfields.texts.Header
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:text="Settings" />
<com.gabrielepmattia.materialfields.fields.FieldDateRange
android:id="@+id/add_module_survey_daterange"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="@string/setting_date_limits"
app:value="@string/setting_date_limits_description" />
<com.gabrielepmattia.materialfields.fields.FieldCheckBox
android:id="@+id/add_module_survey_non_admin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="Only admins suggest"
app:value="Allow only the admins to suggest options" />
<com.gabrielepmattia.materialfields.fields.FieldCheckBox
android:id="@+id/add_module_survey_changing_mind"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="Changing mind"
app:value="Users can change their mind after voting an option" />
<com.gabrielepmattia.materialfields.texts.Header
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:text="" />
</LinearLayout>
For the changelog please see the Tags section of this repository
Contributors are always welcomed, they will be listed here.
This library is released under LGPL-3.0 license, see LICENSE
file for the full text.