aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt34
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt6
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentPost.kt50
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/fragment_post.xml19
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/post_image.xml27
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml5
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