Using Android UI elements, write an Android application that allow users to Rent a place using their Android phones. LeaseOrRentHome Inc. helps its clients to find the best option for a home.  You are assigned to develop an Android application based on the following specifications:

Implement Menu:

– Help: must be in the overflow and link to a website of your choice.

– Rent: always appear, icon of a building, and take the user to the dialer tocall the Real estate agent.

– Home: displayed if enough room, and when clicked, take the user to mainscreen.

– Menu must appear on all screens, and not just the main screen. Don’t repeat the menu code on all screens. It’s not a good a programming practice of repeating the same code.

Common screen designs

– On subsequent screens (not the main screen), you must have Arrow up to allow the user to go back to main screen.

https://www.examtray.com/android/how-show-android-toolbar-back-button-programmatically-change-color-shapeBack Arrow

– Use styles and themes to create a nice look and feel of the Rent app.

Splash Screen:

– Splash screen displayed for few seconds, i.e. 3 seconds, then user landed on mainscreen. Splash screen should have proper image.https://medium.com/geekculture/implementing-the-perfect-splash-screen-in-android-295de045a8dc

Main Screen:

– The main screen will display:

– The company logo

– TextView with some description about the app.

– Button “Enter”.

– Main screen must have two different layouts, portrait and landscape.

– Only main screen has the design for two orientations, landscape and portrait.

Rent Type Screen:

– The Rent Type Screen allows the potential customer to choose the home types:

– Build radio buttons of the items below• apartment• detached home• semi-detached home

– ImageButton to go to next screen. Validate one option is selected.

Visit Screen:

– The visit screen is based on the user selection of the previous screen:

– TextView with the Screen title, based on the user selection on the previous screen, i.e. “Apartment’s Options”.

– Checkboxes: example if user selected apartment, display a minimum of 3 apartments, their addresses and the rent price for each apartment. Use checkboxes and allow user to visit multiple places.

– Button to go to next screen. Validate at least one option is selected, before going to next screen.

Payment Screen:

– Use EditText controls and other UI elements to allow the user to enter customer information, such as name, and credit card number. Provide validation for these entries using the proper methods/constructor for each control. Enforce user input (ie. name should be alphabetic only, credit card numbers only,…etc.)

– Then when user enters the above info, then click on Process button.

– Validate inputs are not empty. If invalid input, provide feedback.

– Validate no empty field is left.

– Validate, i.e. Name field has a minimum of 3 chars and no numeric.

– Validate the credit card information, i.e. 5 digits (android:inputType=”number”android:maxLength=”5″)

– When the user clicks on the ImageButton, validate all inputs are valid, and if valid, display an alertDialog “Your request is being processed”. When user clicks on OK button on the AlertDialog, take the user to main screen.

– Use EditText setError to display the error https://stackoverflow.com/questions/18225365/show-error-on-the-tip-of-the-edit-text-android