From cc0918ba177cfff4d1a293b6dc6ad2d7905973ea Mon Sep 17 00:00:00 2001 From: s22thong <sylvain.thong@gmail.com> Date: Tue, 11 Mar 2025 14:04:53 +0100 Subject: [PATCH] ft(UI): Display User infos Fragment --- .../DisplayUserFragment.java | 92 ++++++++++ .../main/res/layout/fragment_display_user.xml | 170 ++++++++++++++++++ 2 files changed, 262 insertions(+) create mode 100644 app/src/main/java/fr/imt_atlantique/myfirstapplication/DisplayUserFragment.java create mode 100644 app/src/main/res/layout/fragment_display_user.xml diff --git a/app/src/main/java/fr/imt_atlantique/myfirstapplication/DisplayUserFragment.java b/app/src/main/java/fr/imt_atlantique/myfirstapplication/DisplayUserFragment.java new file mode 100644 index 0000000..9396dd8 --- /dev/null +++ b/app/src/main/java/fr/imt_atlantique/myfirstapplication/DisplayUserFragment.java @@ -0,0 +1,92 @@ +package fr.imt_atlantique.myfirstapplication; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.LinearLayout; +import android.widget.TextView; + +import java.util.ArrayList; + +public class DisplayUserFragment extends Fragment { + + private static final String ARG_FIRST_NAME = "paramFirstName"; + private static final String ARG_LAST_NAME = "paramLastName"; + private static final String ARG_BIRTH_CITY = "paramBirthCity"; + private static final String ARG_BIRTH_DEPT = "paramBirthDept"; + private static final String ARG_BIRTH_DATE = "paramBirthDate"; + private static final String ARG_PHONE_NUMBERS_LIST = "paramPhoneNumbersList"; + + // TODO: Rename and change types of parameters + private String mFirstName; + private String mLastName; + private String mBirthCity; + private String mBirthDept; + private String mBirthDate; + private ArrayList<String> mPhoneNumbersList; + + public DisplayUserFragment() { + // Required empty public constructor + } + + public static DisplayUserFragment newInstance(String firstName, String lastName, String birthCity, String birthDept, String birthDate, ArrayList<String> phoneNumbersList) { + DisplayUserFragment fragment = new DisplayUserFragment(); + Bundle args = new Bundle(); + args.putString(ARG_FIRST_NAME, firstName); + args.putString(ARG_LAST_NAME, lastName); + args.putString(ARG_BIRTH_CITY, birthCity); + args.putString(ARG_BIRTH_DEPT, birthDept); + args.putString(ARG_BIRTH_DATE, birthDate); + args.putStringArrayList(ARG_PHONE_NUMBERS_LIST, phoneNumbersList); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mFirstName = getArguments().getString(ARG_FIRST_NAME); + mLastName = getArguments().getString(ARG_LAST_NAME); + mBirthCity = getArguments().getString(ARG_BIRTH_CITY); + mBirthDept = getArguments().getString(ARG_BIRTH_DEPT); + mBirthDate = getArguments().getString(ARG_BIRTH_DATE); + mPhoneNumbersList = getArguments().getStringArrayList(ARG_PHONE_NUMBERS_LIST); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + View view = inflater.inflate(R.layout.fragment_display_user, container, false); + + TextView textViewFirstName = view.findViewById(R.id.displayFirstNameTextView); + TextView textViewLastName = view.findViewById(R.id.displayLastNameTextView); + TextView textViewBirthCity = view.findViewById(R.id.displayBirthCityTextView); + TextView textViewBirthDept = view.findViewById(R.id.displayBirthDeptTextView); + TextView textViewBirthDate = view.findViewById(R.id.displayBirthDateTextView); + LinearLayout phonesLinearLayout = view.findViewById(R.id.displayPhonesLayout); + + textViewFirstName.setText(mFirstName); + textViewLastName.setText(mLastName); + textViewBirthCity.setText(mBirthCity); + textViewBirthDept.setText(mBirthDept); + textViewBirthDate.setText(mBirthDate); + + for (String phoneNumber : mPhoneNumbersList) { + View phoneView = inflater.inflate(R.layout.phone_number_print, phonesLinearLayout, false); + + TextView phoneEditText = phoneView.findViewById(R.id.secondPhoneNumberTextView); + phoneEditText.setText(phoneNumber); + + phonesLinearLayout.addView(phoneView); + } + + return view; + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_display_user.xml b/app/src/main/res/layout/fragment_display_user.xml new file mode 100644 index 0000000..41af476 --- /dev/null +++ b/app/src/main/res/layout/fragment_display_user.xml @@ -0,0 +1,170 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + tools:context=".DisplayUserFragment"> + + <ScrollView + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <LinearLayout + android:id="@+id/mainContent" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:padding="16dp"> + + <TextView + android:id="@+id/displayFirstNameTextViewLabel" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:text="@string/first_name_label" /> + + <TextView + android:id="@+id/displayFirstNameTextView" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="2" + android:autofillHints="" + android:background="@drawable/rounded_edittext" + android:ems="10" + android:gravity="center" + android:hint="@string/first_name_placeholder" + android:inputType="text" + android:minHeight="48dp" + android:text="@string/first_name_label" /> + </LinearLayout> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:padding="16dp"> + + <TextView + android:id="@+id/displayLastNameTextViewLabel" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:text="@string/last_name_label" /> + + <TextView + android:id="@+id/displayLastNameTextView" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="2" + android:autofillHints="" + android:background="@drawable/rounded_edittext" + android:ems="10" + android:gravity="center" + android:hint="@string/last_name_placeholder" + android:minHeight="48dp" + android:text="@string/last_name_label" /> + </LinearLayout> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:padding="16dp"> + + <TextView + android:id="@+id/displayBirthDateTextViewLabel" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:text="@string/birth_date_label" /> + + <TextView + android:id="@+id/displayBirthDateTextView" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="2" + android:autofillHints="" + android:background="@drawable/rounded_edittext" + android:ems="10" + android:gravity="center" + android:minHeight="48dp" /> + + </LinearLayout> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:padding="16dp"> + + <TextView + android:id="@+id/displayBirthDeptTextViewLabel" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:text="@string/birth_dept_label" /> + + <TextView + android:id="@+id/displayBirthDeptTextView" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="2" + android:autofillHints="" + android:background="@drawable/rounded_edittext" + android:ems="10" + android:gravity="center" + android:entries="@array/departments" + android:minHeight="48dp"/> + + </LinearLayout> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:padding="16dp"> + + <TextView + android:id="@+id/displayBirthCityTextViewLabel" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:text="@string/birth_city_label" /> + + <TextView + android:id="@+id/displayBirthCityTextView" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="2" + android:autofillHints="" + android:background="@drawable/rounded_edittext" + android:ems="10" + android:gravity="center" + android:hint="@string/birth_city_placeholder" + android:minHeight="48dp" + android:text="@string/birth_city_placeholder" /> + </LinearLayout> + + <LinearLayout + android:id="@+id/displayPhonesLayout" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:padding="16dp"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:padding="16dp"> + </LinearLayout> + </LinearLayout> + </LinearLayout> + </ScrollView> + +</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file -- GitLab