paySimplex Layout
Budget: €250 – €750 EUR
This project needs to be developed all screens on Android according to the layout sent in the attachment and with some development rules to keep the current project pattern.
Here is a list of general project rules that must be followed:
- It needs to be developed using “themes” and “styles” on Android.
- It is necessary to use “viewBinding” whenever possible.
- You must use “androidx Navigation” with “navigation-safe-args”.
- We need to add all the “strings” in the “strings” file with three files, English, Portuguese and Spanish, you don’t need to translate the contents, just create a “string” with the same value so we can translate.
- It is necessary to add the images in the “drawable” in one of the formats:
-The first way to add correctly is to include the PNG file with 5 formats.
-The second way to add would be by xml so that it behaves correctly on different screens.
- In all layouts it is necessary to have a “data” with the “variable” informing which is the “viewModel” of that layout as shown in the example.
- In all layouts it must be done with “constraintLayout” and most will need a “ScrollView” or “NestedScroll”, accepted “LinearLayout” or “Relativelayout” only in cases that it facilitates the development of the screen or simplify it, we want that the entire layout whenever possible have only the root of “constraintLayout” and the other components within that Root.
- For the “inputs” you have to use the “textfield.TextInputLayout” for them, I will send a code example with a “theme” and “style” with the component exemplifying how all fields should look.
- For the inputs and buttons needs to be animated the states of the components, pressed, click.
- For the screens where we have the “Hamburger” menu in the upper left corner, it needs to be developed as a dynamic menu, with an example of change being sent with the complete project (Adding or removing at run time) after “onCreate”.
- For the screens where we have the bottom menu, use “bottom navigation bar” of the android.
- For the animations between screens, it is necessary to swipe to the right side in all screen changes.
Specific instructions for project screens.
- For the development of splashScreen you need to have an animation like the example of the images shown (Soon to go up rotating and right after you see the text paySimplex with alpha).
- For the development of the record in the field date of birth, “MaterialDatePicker” needs to be used.
It is necessary to perform the integration with the “mapBox” to make the map screen.
- On the map screen you need to customize the pin layout.
Examples:
<Style>
<style name="AppTextInputLayout.Outlined.Dropdown" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu">
<item name="shapeAppearance">@style/ShapeAppearance.App.SmallComponent</item>
<item name="android:textColorHint">?android:attr/textColorHint</item>
<item name="boxStrokeColor">@color/text_input_box_stroke</item>
</style>
<TextInputLyout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/til_field_example"
style="@style/AppTextInputLayout.Outlined.Dropdown"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:enabled="@{!viewmodel.isUpdate}"
android:hint="@string/vehicle_hint"
app:errorEnabled="true">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/tiet_edit_example"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:text="@={viewmodel.email}" />
<Data binding ViewModel with variable>
<data>
<variable
name="viewmodel"
type="com.package.package.ExampleViewModel" />
<variable
name="title"
type="String" />
</data>
Here is a list of general project rules that must be followed:
- It needs to be developed using “themes” and “styles” on Android.
- It is necessary to use “viewBinding” whenever possible.
- You must use “androidx Navigation” with “navigation-safe-args”.
- We need to add all the “strings” in the “strings” file with three files, English, Portuguese and Spanish, you don’t need to translate the contents, just create a “string” with the same value so we can translate.
- It is necessary to add the images in the “drawable” in one of the formats:
-The first way to add correctly is to include the PNG file with 5 formats.
-The second way to add would be by xml so that it behaves correctly on different screens.
- In all layouts it is necessary to have a “data” with the “variable” informing which is the “viewModel” of that layout as shown in the example.
- In all layouts it must be done with “constraintLayout” and most will need a “ScrollView” or “NestedScroll”, accepted “LinearLayout” or “Relativelayout” only in cases that it facilitates the development of the screen or simplify it, we want that the entire layout whenever possible have only the root of “constraintLayout” and the other components within that Root.
- For the “inputs” you have to use the “textfield.TextInputLayout” for them, I will send a code example with a “theme” and “style” with the component exemplifying how all fields should look.
- For the inputs and buttons needs to be animated the states of the components, pressed, click.
- For the screens where we have the “Hamburger” menu in the upper left corner, it needs to be developed as a dynamic menu, with an example of change being sent with the complete project (Adding or removing at run time) after “onCreate”.
- For the screens where we have the bottom menu, use “bottom navigation bar” of the android.
- For the animations between screens, it is necessary to swipe to the right side in all screen changes.
Specific instructions for project screens.
- For the development of splashScreen you need to have an animation like the example of the images shown (Soon to go up rotating and right after you see the text paySimplex with alpha).
- For the development of the record in the field date of birth, “MaterialDatePicker” needs to be used.
It is necessary to perform the integration with the “mapBox” to make the map screen.
- On the map screen you need to customize the pin layout.
Examples:
<Style>
<style name="AppTextInputLayout.Outlined.Dropdown" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu">
<item name="shapeAppearance">@style/ShapeAppearance.App.SmallComponent</item>
<item name="android:textColorHint">?android:attr/textColorHint</item>
<item name="boxStrokeColor">@color/text_input_box_stroke</item>
</style>
<TextInputLyout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/til_field_example"
style="@style/AppTextInputLayout.Outlined.Dropdown"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:enabled="@{!viewmodel.isUpdate}"
android:hint="@string/vehicle_hint"
app:errorEnabled="true">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/tiet_edit_example"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:text="@={viewmodel.email}" />
<Data binding ViewModel with variable>
<data>
<variable
name="viewmodel"
type="com.package.package.ExampleViewModel" />
<variable
name="title"
type="String" />
</data>