From acdf5353c13576d3f6e30c58c9018893132ca3c9 Mon Sep 17 00:00:00 2001 From: KDSolutionss Date: Mon, 12 Dec 2022 22:47:37 +0500 Subject: [PATCH 1/4] card_create_and_toolbar --- .../example/xiinder/fragment/CardsFragment.kt | 28 ++-- .../example/xiinder/fragment/CreateCard.kt | 54 +++++++ .../drawable/ic_baseline_control_point_24.xml | 5 + .../src/main/res/layout/fragment_cards.xml | 23 ++- .../main/res/layout/fragment_create_card.xml | 133 ++++++++++++++++++ .../res/layout/fragment_profile_details.xml | 8 +- XiinderFront/app/src/main/res/menu/menu.xml | 10 ++ .../app/src/main/res/navigation/nav_graph.xml | 8 ++ 8 files changed, 252 insertions(+), 17 deletions(-) create mode 100644 XiinderFront/app/src/main/java/com/example/xiinder/fragment/CreateCard.kt create mode 100644 XiinderFront/app/src/main/res/drawable/ic_baseline_control_point_24.xml create mode 100644 XiinderFront/app/src/main/res/layout/fragment_create_card.xml create mode 100644 XiinderFront/app/src/main/res/menu/menu.xml diff --git a/XiinderFront/app/src/main/java/com/example/xiinder/fragment/CardsFragment.kt b/XiinderFront/app/src/main/java/com/example/xiinder/fragment/CardsFragment.kt index c1fa249..8dbee8d 100644 --- a/XiinderFront/app/src/main/java/com/example/xiinder/fragment/CardsFragment.kt +++ b/XiinderFront/app/src/main/java/com/example/xiinder/fragment/CardsFragment.kt @@ -1,23 +1,25 @@ package com.example.xiinder.fragment +import android.annotation.SuppressLint import android.os.Bundle +import android.view.* +import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.widget.Toolbar +import androidx.core.view.isVisible import androidx.fragment.app.Fragment -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.Button -import androidx.datastore.dataStore -import androidx.datastore.dataStoreFile -import androidx.navigation.fragment.NavHostFragment import androidx.navigation.fragment.findNavController -import androidx.recyclerview.widget.GridLayoutManager -import androidx.recyclerview.widget.RecyclerView import com.example.xiinder.* import com.example.xiinder.databinding.FragmentCardsBinding +import com.example.xiinder.MainActivity + + + + lateinit var binding: FragmentCardsBinding class CardsFragment : Fragment() { + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? @@ -31,6 +33,14 @@ class CardsFragment : Fragment() { return binding.root } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + binding.toolbar.inflateMenu(R.menu.menu) + + binding.toolbar.setOnMenuItemClickListener { + findNavController().navigate(R.id.action_cardsFragment_to_createCard);true; + } + } + private fun goToProfileFragment(profileId: Int) { val action = CardsFragmentDirections.actionCardsFragmentToProfileFragment(profileId) findNavController().navigate(action) diff --git a/XiinderFront/app/src/main/java/com/example/xiinder/fragment/CreateCard.kt b/XiinderFront/app/src/main/java/com/example/xiinder/fragment/CreateCard.kt new file mode 100644 index 0000000..98da887 --- /dev/null +++ b/XiinderFront/app/src/main/java/com/example/xiinder/fragment/CreateCard.kt @@ -0,0 +1,54 @@ +package com.example.xiinder.fragment + +import android.app.Activity.RESULT_OK +import android.content.Intent +import android.net.Uri +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.example.xiinder.databinding.FragmentCreateCardBinding + + +// TODO: Rename parameter arguments, choose names that match +// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER + + +/** + * A simple [Fragment] subclass. + * Use the [CreateCard.newInstance] factory method to + * create an instance of this fragment. + */ +class CreateCard : Fragment() { + private val PICK_IMAGE=100 + private var imageUri: Uri? = null + var binding: FragmentCreateCardBinding?=null + // TODO: Rename and change types of parameters + + + + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + val fragmentBinding=FragmentCreateCardBinding.inflate(inflater,container,false) + binding=fragmentBinding + binding!!.uploadImage.setOnClickListener { + val intent = Intent() + intent.type = "image/*" + intent.action = Intent.ACTION_GET_CONTENT + startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE) } + return fragmentBinding.root + } + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + super.onActivityResult(requestCode, resultCode, data) + if (resultCode == RESULT_OK && requestCode == PICK_IMAGE) { + imageUri = data?.data + binding?.imageView?.setImageURI(imageUri) + } + } +} \ No newline at end of file diff --git a/XiinderFront/app/src/main/res/drawable/ic_baseline_control_point_24.xml b/XiinderFront/app/src/main/res/drawable/ic_baseline_control_point_24.xml new file mode 100644 index 0000000..d1c91f7 --- /dev/null +++ b/XiinderFront/app/src/main/res/drawable/ic_baseline_control_point_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/XiinderFront/app/src/main/res/layout/fragment_cards.xml b/XiinderFront/app/src/main/res/layout/fragment_cards.xml index d38bd90..680f76e 100644 --- a/XiinderFront/app/src/main/res/layout/fragment_cards.xml +++ b/XiinderFront/app/src/main/res/layout/fragment_cards.xml @@ -10,10 +10,23 @@ type="com.example.xiinder.fragment.CardsFragment" /> + + + + + + tools:listitem="@layout/card_item" + /> + \ No newline at end of file diff --git a/XiinderFront/app/src/main/res/layout/fragment_create_card.xml b/XiinderFront/app/src/main/res/layout/fragment_create_card.xml new file mode 100644 index 0000000..f1fa873 --- /dev/null +++ b/XiinderFront/app/src/main/res/layout/fragment_create_card.xml @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + +