All Projects → RGirish → Build-Former

RGirish / Build-Former

Licence: Apache-2.0 license
This is a library for building forms dynamically in Android.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Build-Former

SuluFormBundle
Form Bundle for handling Dynamic and Symfony Forms in https://sulu.io
Stars: ✭ 51 (+155%)
Mutual labels:  forms, dynamic
dynamic-threadpool
📌 强大的动态线程池框架,附带监控报警功能。支持 JDK、Tomcat、Jetty、Undertow 线程池;Dubbo、Dubbox、RabbitMQ、RocketMQ、Hystrix 消费线程池(更多框架线程池还在适配中)。内置两种使用模式:轻量级依赖配置中心以及无中间件依赖版本。
Stars: ✭ 3,609 (+17945%)
Mutual labels:  dynamic
forms-bootstrap
👾 Bootstrap 4 forms for Nette framework
Stars: ✭ 17 (-15%)
Mutual labels:  forms
activiti-examples
Alfresco Process Services powered by Activiti Examples.
Stars: ✭ 58 (+190%)
Mutual labels:  forms
react-apollo-form
Build React forms based on GraphQL APIs.
Stars: ✭ 195 (+875%)
Mutual labels:  forms
laravel-livewire-modals
Dynamic Laravel Livewire Bootstrap modals.
Stars: ✭ 63 (+215%)
Mutual labels:  dynamic
formz
A unified form representation in Dart used at Very Good Ventures 🦄
Stars: ✭ 262 (+1210%)
Mutual labels:  forms
joineRML
R package for fitting joint models to time-to-event data and multivariate longitudinal data
Stars: ✭ 24 (+20%)
Mutual labels:  dynamic
Equinox
🌇 🌃 Create dynamic wallpapers for macOS.
Stars: ✭ 737 (+3585%)
Mutual labels:  dynamic
laminas-form
Validate and display simple and complex forms, casting forms to business objects and vice versa
Stars: ✭ 65 (+225%)
Mutual labels:  forms
blogging-app-with-Angular-CloudFirestore
A blogging application created with the help of Angular on front-end and Google Cloud Firestore on backend.
Stars: ✭ 45 (+125%)
Mutual labels:  forms
github-readme-activity-graph
A dynamically generated activity graph to show your GitHub activities of last 31 days.
Stars: ✭ 1,029 (+5045%)
Mutual labels:  dynamic
flask-wtf
Simple integration of Flask and WTForms, including CSRF, file upload and Recaptcha integration.
Stars: ✭ 1,357 (+6685%)
Mutual labels:  forms
Signals.jl
Multi-Paradigm Dynamic Fast Functional Reactive Programming in Julia
Stars: ✭ 37 (+85%)
Mutual labels:  dynamic
scrapy helper
Dynamic configurable crawl (动态可配置化爬虫)
Stars: ✭ 84 (+320%)
Mutual labels:  dynamic
altinn-studio
Next generation open source Altinn platform and applications.
Stars: ✭ 91 (+355%)
Mutual labels:  forms
forms
Web forms with Substance.
Stars: ✭ 14 (-30%)
Mutual labels:  forms
venusscript
A dynamic, interpreted, scripting language written in Java.
Stars: ✭ 17 (-15%)
Mutual labels:  dynamic
ConnectedProperties
Dynamically attach properties to (almost) any object instance.
Stars: ✭ 38 (+90%)
Mutual labels:  dynamic
nextjs-redirect
HOC to redirect to any URL in NextJS both in client and server
Stars: ✭ 144 (+620%)
Mutual labels:  dynamic

BuildFormer

This is a dynamic form builder library for Android. Given a LinearLayout to build on, dynamically creating views such as Switches, TextViews, EditTexts and lots more, becomes as easy as calling the methods in this library. Each of the supported views (listed below) has one or more methods within the library that can be called to create the view in the previously set LinearLayout.

The library is for Android developers who want to create any of these supported views dynamically. One kind of application where this library could prove to be immensely helpful would be in creating survey forms.

An example - Creating an EditText

LinearLayout layout = (LinearLayout) findViewById(R.id.myLinearLayout);

FormBuilder builder = new FormBuilder(this, layout);
builder.createEditText("Enter your name", FormBuilder.EDIT_TEXT_MODE_HINT, true);

// the first parameter is the description.
// the second parameter is a flag that tells the library to display the description as a hint.
// the third parameter if 'true', makes the EditText single-line.

JSON Export/Import

The library also provides methods to export the meta data of a dynamically created form into a JSON representation.

This way, a user is able to create a form with the help of this library and is then able to save it in an internal representation. The following is how it is done:

FormBuilder builder = new FormBuilder(this, layout);
builder.createTextView(...);
builder.createCheckbox(...);
builder.createRadioGroup(...);
builder.createEditText(...);
...
builder.exportAsJson("filename.json");

The JSON file is saved in the root directory of the ExternalStorage.

Once this is done, if we need to dynamically create the same form again, all we need to do is this:

FormBuilder builder = new FormBuilder(this, layout);
File file = new File(Environment.getExternalStorageDirectory() + File.separator + "filename.json");

try {
    builder.createFromJson(file);
} catch (IOException e) {
    ...
}

Supported views

  1. TextView
  2. EditText
  3. RadioGroup
  4. RadioGroupRatings - a special kind of customized RadioGroup
  5. Checkbox
  6. CheckboxGroup
  7. Switch
  8. DropdownList
  9. DatePicker
  10. TimePicker
  11. SectionBreak

Adding a dependency to this Library

The library is available in the jCenter() repository only:

compile 'com.girish.library.buildformer:buildformer:0.9.4'
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].