diff options
| author | Jelena Petrovic <jelenapetrovic.7119@gmail.com> | 2022-11-05 23:20:41 +0100 | 
|---|---|---|
| committer | Jelena Petrovic <jelenapetrovic.7119@gmail.com> | 2022-11-05 23:20:41 +0100 | 
| commit | fddf235aaf67921c654757f22a63e1500f0b7bbd (patch) | |
| tree | bfe6aeea899d3c95795a46657edd39aa98b8cacf /Client/BrzoDoLokacije/app | |
| parent | d42269e5bf6dcb4f125c395868a88295686a7895 (diff) | |
zapocet rad na prikazu jedne objave, dodata lista slika #16
Diffstat (limited to 'Client/BrzoDoLokacije/app')
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  | 
