diff --git a/app/src/main/java/ru/myitschool/work/ui/screens/QrFragment.java b/app/src/main/java/ru/myitschool/work/ui/screens/QrFragment.java index c3ef535..044cf68 100644 --- a/app/src/main/java/ru/myitschool/work/ui/screens/QrFragment.java +++ b/app/src/main/java/ru/myitschool/work/ui/screens/QrFragment.java @@ -2,6 +2,8 @@ package ru.myitschool.work.ui.screens; import android.os.Bundle; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import android.view.LayoutInflater; @@ -9,58 +11,31 @@ import android.view.View; import android.view.ViewGroup; import ru.myitschool.work.R; +import ru.myitschool.work.databinding.FragmentQrBinding; -/** - * A simple {@link Fragment} subclass. - * Use the {@link QrFragment#newInstance} factory method to - * create an instance of this fragment. - */ public class QrFragment extends Fragment { + private FragmentQrBinding binding; - // TODO: Rename parameter arguments, choose names that match - // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER - private static final String ARG_PARAM1 = "param1"; - private static final String ARG_PARAM2 = "param2"; + public QrFragment() { super(R.layout.fragment_qr); } - // TODO: Rename and change types of parameters - private String mParam1; - private String mParam2; + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); - public QrFragment() { - // Required empty public constructor + binding = FragmentQrBinding.bind(view); + + binding.qrButton.setOnClickListener(this::qrScanListener); } - /** - * Use this factory method to create a new instance of - * this fragment using the provided parameters. - * - * @param param1 Parameter 1. - * @param param2 Parameter 2. - * @return A new instance of fragment QrFragment. - */ - // TODO: Rename and change types and number of parameters - public static QrFragment newInstance(String param1, String param2) { - QrFragment fragment = new QrFragment(); - Bundle args = new Bundle(); - args.putString(ARG_PARAM1, param1); - args.putString(ARG_PARAM2, param2); - fragment.setArguments(args); - return fragment; + private void qrScanListener(View view) { + this.requireActivity().getSupportFragmentManager().beginTransaction() + .replace(R.id.fragment_container_view, QrScanFragment.class, null) + .addToBackStack("").commit(); } @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - if (getArguments() != null) { - mParam1 = getArguments().getString(ARG_PARAM1); - mParam2 = getArguments().getString(ARG_PARAM2); - } - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_qr, container, false); + public void onDestroyView() { + binding = null; + super.onDestroyView(); } } \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/ui/screens/QrScanFragment.java b/app/src/main/java/ru/myitschool/work/ui/screens/QrScanFragment.java new file mode 100644 index 0000000..b9a7521 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/ui/screens/QrScanFragment.java @@ -0,0 +1,66 @@ +package ru.myitschool.work.ui.screens; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import ru.myitschool.work.R; + +/** + * A simple {@link Fragment} subclass. + * Use the {@link QrScanFragment#newInstance} factory method to + * create an instance of this fragment. + */ +public class QrScanFragment extends Fragment { + + // TODO: Rename parameter arguments, choose names that match + // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER + private static final String ARG_PARAM1 = "param1"; + private static final String ARG_PARAM2 = "param2"; + + // TODO: Rename and change types of parameters + private String mParam1; + private String mParam2; + + public QrScanFragment() { + // Required empty public constructor + } + + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment QrScanFragment. + */ + // TODO: Rename and change types and number of parameters + public static QrScanFragment newInstance(String param1, String param2) { + QrScanFragment fragment = new QrScanFragment(); + Bundle args = new Bundle(); + args.putString(ARG_PARAM1, param1); + args.putString(ARG_PARAM2, param2); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mParam1 = getArguments().getString(ARG_PARAM1); + mParam2 = getArguments().getString(ARG_PARAM2); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_qr_scan, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/background_qr_fragment.png b/app/src/main/res/drawable/background_qr_fragment.png new file mode 100644 index 0000000..83a7faf Binary files /dev/null and b/app/src/main/res/drawable/background_qr_fragment.png differ diff --git a/app/src/main/res/drawable/qr_code.png b/app/src/main/res/drawable/qr_code.png new file mode 100644 index 0000000..cb75529 Binary files /dev/null and b/app/src/main/res/drawable/qr_code.png differ diff --git a/app/src/main/res/layout/fragment_qr.xml b/app/src/main/res/layout/fragment_qr.xml index f2156ff..e674ef9 100644 --- a/app/src/main/res/layout/fragment_qr.xml +++ b/app/src/main/res/layout/fragment_qr.xml @@ -3,12 +3,48 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".ui.screens.QrFragment"> + xmlns:app="http://schemas.android.com/apk/res-auto" + tools:context=".ui.screens.QrFragment" + android:background="@drawable/background_qr_fragment"> - - + android:layout_height="match_parent"> + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_qr_scan.xml b/app/src/main/res/layout/fragment_qr_scan.xml new file mode 100644 index 0000000..2987f31 --- /dev/null +++ b/app/src/main/res/layout/fragment_qr_scan.xml @@ -0,0 +1,22 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4bb3646..ce2e6ac 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -42,4 +42,7 @@ Войти Пароль Вход + qr_code + 500 часов + Сессии за последние 30 дней: \ No newline at end of file