diff options
6 files changed, 139 insertions, 2 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt new file mode 100644 index 0000000..b2eaa30 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt @@ -0,0 +1,34 @@ +package com.example.brzodolokacije.Adapters + +import android.graphics.BitmapFactory +import android.media.Image +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.example.brzodolokacije.Models.Post +import com.example.brzodolokacije.databinding.PostImageBinding +import com.example.brzodolokacije.databinding.PostPreviewBinding + +class PostImageAdapter(val items : MutableList<java.io.File>) + : RecyclerView.Adapter<PostImageAdapter.ViewHolder>(){ + //constructer has one argument - list of objects that need to be displayed + //it is bound to xml of single item + private lateinit var binding: PostImageBinding + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { + val inflater = LayoutInflater.from(parent.context) + binding= PostImageBinding.inflate(inflater,parent,false) + return ViewHolder(binding) + } + override fun onBindViewHolder(holder: ViewHolder, position: Int){ + //sets components of particular item + holder.bind(items[position]) + } + override fun getItemCount() = items.size + inner class ViewHolder(itemView : PostImageBinding) : RecyclerView.ViewHolder(itemView.root){ + fun bind(item : java.io.File){ + binding.apply { + locationImage.setImageBitmap(BitmapFactory.decodeStream(item.inputStream())) + } + } + } +}
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt index c8a0b77..56220d5 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt @@ -7,6 +7,7 @@ import com.example.brzodolokacije.Models.ListItemModel import com.example.brzodolokacije.Models.Post import com.example.brzodolokacije.databinding.ListItemBinding import com.example.brzodolokacije.databinding.PostPreviewBinding +import java.io.Console class ShowPostsAdapter (val items : MutableList<Post>) : RecyclerView.Adapter<ShowPostsAdapter.ViewHolder>(){ @@ -21,6 +22,11 @@ class ShowPostsAdapter (val items : MutableList<Post>) override fun onBindViewHolder(holder: ViewHolder, position: Int){ //sets components of particular item holder.bind(items[position]) +/* holder.itemView.setOnClickListener { + fun listener(position: Int){ + binding.tvTitle.text="klik" + } + }*/ } override fun getItemCount() = items.size inner class ViewHolder(itemView : PostPreviewBinding) : RecyclerView.ViewHolder(itemView.root){ diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentPost.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentPost.kt new file mode 100644 index 0000000..82835f2 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentPost.kt @@ -0,0 +1,50 @@ +package com.example.brzodolokacije.Fragments + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.example.brzodolokacije.Adapters.PostImageAdapter +import com.example.brzodolokacije.Adapters.ShowPostsAdapter +import com.example.brzodolokacije.Models.Post +import com.example.brzodolokacije.R +import com.example.brzodolokacije.databinding.FragmentPostBinding + + +class FragmentPost : Fragment() { + + private lateinit var binding: FragmentPostBinding + private var images : MutableList<java.io.File> = mutableListOf() + private var layoutManagerVar: RecyclerView.LayoutManager? = null + private var adapterVar: RecyclerView.Adapter<PostImageAdapter.ViewHolder>? = null + private var recyclerView: RecyclerView?=null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + //load data for the list + loadData() + //instantiate adapter and linearLayout + adapterVar=PostImageAdapter(images) + layoutManagerVar= LinearLayoutManager(activity) + } + + private fun loadData() { + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + val rootView = inflater?.inflate(R.layout.fragment_post, container, false) + recyclerView = rootView?.findViewById(R.id.rvMain) + // set recyclerView attributes + recyclerView?.setHasFixedSize(true) + recyclerView?.layoutManager = layoutManagerVar + recyclerView?.adapter = adapterVar + return rootView + } + +}
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_post.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_post.xml new file mode 100644 index 0000000..0b37348 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_post.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout 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" + xmlns:app="http://schemas.android.com/apk/res-auto" + tools:context=".Fragments.FragmentPost"> + + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/rvMain" + android:orientation="horizontal" + android:layout_width="match_parent" + android:layout_height="823dp" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" > + + </androidx.recyclerview.widget.RecyclerView> + +</LinearLayout>
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/post_image.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/post_image.xml new file mode 100644 index 0000000..c2a999d --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/post_image.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="380dp" + android:layout_height="wrap_content" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_margin="10dp" + android:background="@drawable/rounded_picture_background" + android:clipToOutline="true" + android:clickable="true"> + + <ImageView + android:id="@+id/locationImage" + android:layout_width="match_parent" + android:layout_height="420dp" + android:outlineProvider="background" + android:scaleType="centerCrop" + android:src="@drawable/b1" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.0" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.0" /> + + + +</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml index ffdd5d7..7283931 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml @@ -9,11 +9,13 @@ android:clipToOutline="true" > + <ImageView android:id="@+id/locationImage" android:layout_width="match_parent" - android:layout_height="330dp" + android:layout_height="250dp" android:outlineProvider="background" + android:scaleType="centerCrop" android:src="@drawable/b1" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" @@ -75,5 +77,4 @@ app:layout_constraintTop_toTopOf="@+id/vBanner" app:layout_constraintVertical_bias="0.737" /> - </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file |