• Stars
    star
    194
  • Rank 199,638 (Top 4 %)
  • Language
    Java
  • License
    MIT License
  • Created over 10 years ago
  • Updated about 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A single EditText instead of a classical form. Library that implements flavienlaurent's singleinputform

Icon

material-singleinputform

Android Arsenal JitPack Build Status License

A single EditText instead of a classical form.

This Library is a library implementation of flavienlaurent's "Single input form"

Very inspired by the Minimal Format Interface.

Implement any form with only one EditText. The idea here is to pack a multiple input form in one field. As a result, the user input is easier and a more fluent process.

Also, TextSwitcher got completely rediscovered to animate the form: title, error message. It's very basic but simple to use.

Here is a video demonstrating a sample form: http://youtu.be/A99g6NDvn_w

Demo

A demo app is available on Google Play:

Get it on Google Play

Screenshots

Checkbox input E-mail input Password input
Checkbox input E-mail input Password input
CheckBoxStep.java TextStep.java TextStep.java

Dependency

material-singleinputform is available on jitpack.io

Gradle dependency:

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}
dependencies {
	compile 'com.heinrichreimersoftware:material-singleinputform:3.0.3'
}

How-To-Use

Step 1: Your Activity must extend SingleInputFormActivity:

public class MainActivity extends SingleInputFormActivity {
	//...
}

Step 2: Implement abstract methods:

public class MainActivity extends SingleInputFormActivity{
	private static final String DATA_KEY_EXAMPLE = "example";
	
	@Override
	protected List<Step> getSteps(Context context){
		List<Step> steps = new ArrayList<Step>();
		steps.add(new TextStep(
				context,
				DATA_KEY_EXAMPLE,
				InputType.TYPE_CLASS_TEXT,
				R.string.example,
				R.string.example_error,
				R.string.example_details)
		);
		//Add more steps here...
		return steps;
	}
	
	@Override
	protected void onFormFinished(Bundle data){
		//Get the form data
		String text = TextStep.text(data, DATA_KEY_EXAMPLE);
		//...
	}
}

Step 3: Theme:

<style name="YourThemeForSingleInputFormActivity" parent="Theme.AppCompat.Light.NoActionBar">
	<!-- Used for: input field background -->
	<item name="colorPrimary">@color/material_bordeaux_500</item>
	
	<!-- Used for: form progress color, status bar color (API 21+) -->
	<item name="colorPrimaryDark">@color/material_bordeaux_700</item>
	
	<!-- Used for: title text color, error text color -->
	<item name="android:textColorPrimary">@color/material_bordeaux_800</item>
	
	<!-- Used for: details text color, step indicator text color -->
	<item name="android:textColorSecondary">@color/material_black_54</item>
	
	<!-- Used for: input text color, input widget color -->
	<item name="android:textColorPrimaryInverse">@color/material_white_100</item>
	
	<!-- Used for: input widget color -->
	<item name="android:textColorSecondaryInverse">@color/material_white_70</item>
</style>

Open source libraries

material-singleinputform uses the following open source libraries or files:

License

Copyright 2016 Heinrich Reimer

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.

More Repositories

1

material-intro

A simple material design app intro with cool animations and a fluent API.
Java
1,737
star
2

material-drawer

Custom drawer implementation for Material design apps.
Java
597
star
3

android-issue-reporter

A powerful and simple library to open issues on GitHub directly from your app.
Java
119
star
4

open-source-library-request-manager

A place to share ideas for open source library with other developers.
32
star
5

progressbar-ktx

⏳ Kotlin extensions for the progressbar JVM library.
Kotlin
28
star
6

android-canteen-balance

Helper library to read out the current balance of canteen cards using NFC.
Java
12
star
7

latex-postage

πŸ“„ Franking letters with Β»Deutsche PostΒ«'s online postage service Β»InternetmarkeΒ«.
TeX
8
star
8

website

🌐 Personal portfolio website.
SCSS
6
star
9

wayback-api

πŸ•°οΈ Java wrapper for the Internet Archive's Wayback API.
Kotlin
6
star
10

zotero-git-sync

πŸ“š Simple CLI to sync a collection's Zotero publications to a Git repository.
Python
5
star
11

modern-talking

πŸ—£οΈ Key-Point Analysis using Pretrained Encoders
Jupyter Notebook
5
star
12

android-wg-planer

Vertretungsplan und Stundenplan des Wilhelm-Gymnasiums
Java
4
star
13

android-shape-touch-listener

Touch listener which only reacts in a given shape.
Java
3
star
14

song-analysis

Analysing the Million Song Dataset.
Kotlin
2
star
15

thuringian-field-names

🏞️ Explorer for the Thuringian Field Name Archive.
TypeScript
2
star
16

website-orgelverein

🌐 Orgelverein am Braunschweiger Dom e.V. website.
SCSS
2
star
17

grimjack

🀺 Argument retrieval using axiomatic re-ranking and query reformulation.
TeX
2
star
18

website-wedding

πŸ’οΈ Wedding website for Lena & Heini.
HTML
2
star
19

ghost-theme-material

πŸ‘» Ghost theme implementing Material design guidelines.
HTML
2
star
20

latex-els-cas-templates

πŸ“„ Copy of Elsevier updated LATEX templates.
TeX
2
star
21

web-archive-api

πŸ—ƒοΈ Unified access to web archive CDX and Memento APIs.
Python
2
star
22

Search.jl

Ad hoc information retrieval toolkit for Julia.
Julia
1
star
23

alexa-top-1m

🌐 Easy access to Alexa top 1M websites.
Kotlin
1
star
24

study-computer-science

πŸ“½οΈ Video player for the "Informatik studieren" advertisement movie.
TypeScript
1
star
25

text-summarization-reproducability

πŸ“ Reproducability study on "Text Summarization with Pretrained Encoders".
HTML
1
star
26

warc-s3

πŸ’Ύ Scalable and easy WARC records storage on S3.
Python
1
star
27

elasticsearch-ktx

πŸ”Ž Kotlin Extensions for the Elasticsearch Java High Level REST Client.
Kotlin
1
star
28

france-accidents

🚨 Visualizing accidents in France from 2005 to 2020.
Elm
1
star
29

android-meine-mensa

Deine Mensen des Studentenwerks Halle.
Java
1
star
30

jsonl-serialization

πŸ—œοΈ Kotlin serialization for the JSON Lines format.
Kotlin
1
star
31

domain-ktx

🌐 Kotlin extensions for domains.
Kotlin
1
star
32

hadoop-ktx

πŸ’Ύ Kotlin Extensions for Apache Hadoop (MapReduce).
Kotlin
1
star
33

todoist-git-sync

βœ… Simple CLI to sync a project's Todoist tasks to a Git repository.
Python
1
star
34

wayback-gradle-plugin

πŸ•°οΈ Gradle plugin for the Internet Archive's Wayback API.
Kotlin
1
star
35

reimersoftware-portfolio

🌐 Reimer Software's portfolio website.
SCSS
1
star
36

spark-ktx

πŸ’Ύ Kotlin extensions for Apache Spark.
Kotlin
1
star
37

website-lenamerker

🌐 Lena Merker's personal website.
HTML
1
star
38

website-kreativwerkstatt

🌐 Kreativ Werkstatt Reimer's portfolio website.
SCSS
1
star
39

ghost-theme-johannesfoto

πŸ‘» The Johannes Foto blog Ghost theme.
Handlebars
1
star
40

spark-gradle-plugin

πŸ’Ύ Gradle plugin for launching Spark applications.
Kotlin
1
star
41

java-ktx

🧰 Kotlin extensions for the JVM.
Kotlin
1
star
42

android-elliptic-curve-chiffre

App to test implementation of elliptic curve chiffre Diffie-Hellman key exchange.
Java
1
star
43

bibtexer

πŸ“š An opinionated BibTeX file cleaner for computer science.
Python
1
star
44

url-canonicalization

πŸ”— Canonicalize URLs based on HTML canonical link relations.
Kotlin
1
star