aboutsummaryrefslogtreecommitdiff
path: root/Client
diff options
context:
space:
mode:
authorTAMARA JERINIC <tamara.jerinic@gmail.com>2022-12-11 23:28:28 +0100
committerTAMARA JERINIC <tamara.jerinic@gmail.com>2022-12-11 23:28:28 +0100
commiteeb13f4819195afc7e3ab08b4f19f76fbaf035b2 (patch)
tree8118c65515a8e2cbd28d4aba8c045081f7a3fa83 /Client
parenta72ebb82220a6d0434118b7b2d90c92a905499c7 (diff)
Dodata kartica za prikaz objave kada je prikazan grid view. Dodat adapter za prikaz. Izmena kartice za prikaz objava na početnoj strani.
Diffstat (limited to 'Client')
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsGridViewAdapter.kt59
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt12
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/post_item_grid_view.xml33
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/post_item_home_page.xml14
4 files changed, 107 insertions, 11 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsGridViewAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsGridViewAdapter.kt
new file mode 100644
index 0000000..dbe9e7d
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsGridViewAdapter.kt
@@ -0,0 +1,59 @@
+package com.example.brzodolokacije.Adapters
+
+import android.app.Activity
+import android.content.Intent
+import android.os.Bundle
+import android.util.Log
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
+import com.example.brzodolokacije.Activities.ActivitySinglePost
+import com.example.brzodolokacije.Models.LocationType
+import com.example.brzodolokacije.Models.PostPreview
+import com.example.brzodolokacije.R
+import com.example.brzodolokacije.Services.RetrofitHelper
+
+class ShowPostsGridViewAdapter(var postPreview:MutableList<PostPreview>, val activity: Activity):
+ RecyclerView.Adapter<ShowPostsGridViewAdapter.PostViewHolder1>() {
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PostViewHolder1 {
+ val view=
+ LayoutInflater.from(parent.context).inflate(R.layout.post_item_grid_view,parent,false)
+ return PostViewHolder1(view)
+ }
+ override fun onBindViewHolder(holder: ShowPostsGridViewAdapter.PostViewHolder1, position: Int) {
+ holder.itemView.setOnClickListener {
+ val intent: Intent = Intent(activity, ActivitySinglePost::class.java)
+ var b= Bundle()
+ postPreview[position].location.type= LocationType.ADA
+ b.putParcelable("selectedPost", postPreview[position])
+ intent.putExtras(b)
+ activity.startActivity(intent)
+ }
+ return holder.bindView(postPreview[position] )
+ }
+ override fun getItemCount(): Int {
+ return postPreview.size
+ }
+ inner class PostViewHolder1(view: View): RecyclerView.ViewHolder(view){
+ private val background:com.google.android.material.imageview.ShapeableImageView=view.findViewById(
+ R.id.postItemGridViewImage)
+ private val multipleImageIcon: ImageView =view.findViewById(R.id.ivPostItemMultipleImagesIcon)
+
+ fun bindView(postPreview: PostPreview){
+ if(postPreview.images.isNotEmpty()) {
+ Glide.with(activity)
+ .load(RetrofitHelper.baseUrl + "/api/post/image/compress/" + postPreview.images[0]._id)
+ .into(background)
+ }
+ if(postPreview.images.size>1)
+ multipleImageIcon.visibility= View.VISIBLE
+
+ }
+ }
+
+
+} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt
index f0f5244..df307dc 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt
@@ -21,6 +21,7 @@ import com.example.brzodolokacije.Activities.ActivityAddPost
import com.example.brzodolokacije.Activities.ChatActivity
import com.example.brzodolokacije.Activities.NavigationActivity
import com.example.brzodolokacije.Adapters.ShowPostsAdapter
+import com.example.brzodolokacije.Adapters.ShowPostsGridViewAdapter
import com.example.brzodolokacije.Models.Location
import com.example.brzodolokacije.Models.SearchParams
import com.example.brzodolokacije.R
@@ -48,7 +49,7 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener {
private var linearManagerVar: RecyclerView.LayoutManager? = null
private var adapterVar: ShowPostsAdapter? = null
private var recyclerView: RecyclerView?=null
- private var gridManagerVar: RecyclerView.LayoutManager?=null
+ // private var gridManagerVar: RecyclerView.LayoutManager?=null
private var swipeRefreshLayout:SwipeRefreshLayout?=null
private lateinit var searchButton: MaterialButton
private lateinit var searchPostsViewModel:SearchPostsViewModel
@@ -66,7 +67,7 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener {
//instantiate adapter and linearLayout
adapterVar=ShowPostsAdapter(requireActivity())
linearManagerVar= LinearLayoutManager(activity)
- gridManagerVar=GridLayoutManager(activity,2)
+ //gridManagerVar=GridLayoutManager(activity,2)
}
fun searchText(){
if(searchBar.text==null || searchBar.text.toString().trim()=="")
@@ -138,8 +139,11 @@ class FragmentShowPosts : Fragment(), SwipeRefreshLayout.OnRefreshListener {
fun setUpListeners(rootView: View?){
rootView?.findViewById<ImageButton>(R.id.btnGridLayout)?.setOnClickListener() {
- if(recyclerView?.layoutManager!=gridManagerVar){
- recyclerView?.layoutManager=gridManagerVar
+ /*if(recyclerView?.layoutManager!=gridManagerVar){
+ recyclerView?.layoutManager=gridManagerVar*/
+ recyclerView?.apply {
+ layoutManager= GridLayoutManager(activity,2)
+ //adapter= ShowPostsGridViewAdapter(posts,requireActivity())
}
Log.d("main","klik")
}
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/post_item_grid_view.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/post_item_grid_view.xml
new file mode 100644
index 0000000..a347ca5
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/post_item_grid_view.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <com.google.android.material.imageview.ShapeableImageView
+ android:id="@+id/postItemGridViewImage"
+ android:layout_width="170dp"
+ android:layout_height="170dp"
+ android:layout_marginStart="16dp"
+ android:layout_marginTop="16dp"
+ android:elevation="5dp"
+ android:scaleType="centerCrop"
+ android:src="@color/white"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:shapeAppearanceOverlay="@style/Circular" />
+
+ <ImageView
+ android:id="@+id/ivPostItemMultipleImagesIcon"
+ android:layout_width="20dp"
+ android:layout_height="20dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginEnd="8dp"
+ android:elevation="10dp"
+ android:src="@drawable/ic_baseline_multiple_images_24"
+ android:visibility="invisible"
+ app:layout_constraintEnd_toEndOf="@+id/postItemGridViewImage"
+ app:layout_constraintTop_toTopOf="@+id/postItemGridViewImage" />
+
+</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/post_item_home_page.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/post_item_home_page.xml
index d403c97..7471321 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/post_item_home_page.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/post_item_home_page.xml
@@ -8,7 +8,7 @@
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/imageView9"
android:layout_width="170dp"
- android:layout_height="215dp"
+ android:layout_height="210dp"
android:layout_marginStart="8dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="8dp"
@@ -23,20 +23,20 @@
<ImageView
android:id="@+id/ivMultipleImagesIcon"
- android:layout_width="18dp"
- android:layout_height="17dp"
+ android:layout_width="20dp"
+ android:layout_height="20dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginEnd="8dp"
android:elevation="10dp"
- android:visibility="invisible"
- android:layout_marginRight="5dp"
- android:layout_marginTop="5dp"
android:src="@drawable/ic_baseline_multiple_images_24"
+ android:visibility="invisible"
app:layout_constraintEnd_toEndOf="@+id/ivPIHPBackground"
app:layout_constraintTop_toTopOf="@+id/imageView9" />
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/ivPIHPBackground"
android:layout_width="170dp"
- android:layout_height="175dp"
+ android:layout_height="170dp"
android:layout_marginStart="1dp"
android:layout_marginEnd="1dp"
android:elevation="3dp"