diff options
author | TAMARA JERINIC <tamara.jerinic@gmail.com> | 2022-11-07 02:23:06 +0100 |
---|---|---|
committer | TAMARA JERINIC <tamara.jerinic@gmail.com> | 2022-11-07 02:23:06 +0100 |
commit | 4e833f3651e304d35f91f43a3d46112f10873f45 (patch) | |
tree | d15b65ce1958157f28ada9fa5fa8311605e00f62 /Client | |
parent | 3a6537bc3060d818d522e33f03321fd8aba1c0d9 (diff) | |
parent | f12280f2396d424ca43893a32939b1b016158b7b (diff) |
Merge branch 'develop' of http://gitlab.pmf.kg.ac.rs/BrzoDoLokacije2022/odyssey/brzodolokacije into develop
# Conflicts:
# Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml
Diffstat (limited to 'Client')
15 files changed, 309 insertions, 125 deletions
diff --git a/Client/BrzoDoLokacije/app/build.gradle b/Client/BrzoDoLokacije/app/build.gradle index f6faf0d..fa85692 100644 --- a/Client/BrzoDoLokacije/app/build.gradle +++ b/Client/BrzoDoLokacije/app/build.gradle @@ -1,6 +1,7 @@ plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' + id 'org.jetbrains.kotlin.android.extensions' } android { @@ -34,6 +35,9 @@ android { buildFeatures { viewBinding true } + androidExtensions { + experimental = true + } } dependencies { diff --git a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml index 2af585f..1d2adb0 100644 --- a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml +++ b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml @@ -20,13 +20,7 @@ android:theme="@style/Theme.BrzoDoLokacije" android:usesCleartextTraffic="true" tools:targetApi="31"> - <activity - android:name=".Activities.ActivityCapturePost" - android:exported="false"> - <meta-data - android:name="android.app.lib_name" - android:value="" /> - </activity> + <activity android:name=".Activities.ActivityAddPost" android:exported="false"> @@ -50,7 +44,14 @@ <activity android:name=".Activities.ActivityForgottenPasswordVerify" /> <activity android:name=".Activities.ActivityForgottenPassword" /> <activity android:name=".Activities.ActivityLoginRegister" /> - <activity android:name=".Activities.NavigationActivity" /> + <activity + android:name=".Activities.NavigationActivity" + android:exported="true"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> <activity android:name=".MainActivity" android:exported="false"> diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt new file mode 100644 index 0000000..be4a73d --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt @@ -0,0 +1,60 @@ +package com.example.brzodolokacije.Activities + +import android.os.Bundle +import android.os.Handler +import android.os.Looper +import androidx.appcompat.app.AppCompatActivity +import androidx.recyclerview.widget.RecyclerView +import com.example.brzodolokacije.Adapters.PostImageAdapter +import com.example.brzodolokacije.Models.PostImage +import com.example.brzodolokacije.Models.PostPreview +import com.example.brzodolokacije.R +import com.example.brzodolokacije.databinding.ActivitySinglePostBinding + + +class ActivitySinglePost : AppCompatActivity() { + private lateinit var binding: ActivitySinglePostBinding + private var images : MutableList<PostImage> = mutableListOf() + private var layoutManagerVar: RecyclerView.LayoutManager? = null + private var adapterVar: RecyclerView.Adapter<PostImageAdapter.ViewHolder>? = null + private var recyclerView: RecyclerView?=null + private lateinit var post:PostPreview + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding=ActivitySinglePostBinding.inflate(layoutInflater) + setContentView(R.layout.activity_single_post) + post= intent.extras?.getParcelable("selectedPost")!! + /*//load data for the list + + //instantiate adapter and linearLayout + adapterVar= PostImageAdapter(images) + layoutManagerVar= LinearLayoutManager(this) + recyclerView = binding.rvMain + // set recyclerView attributes + recyclerView?.setHasFixedSize(true) + recyclerView?.layoutManager = layoutManagerVar + recyclerView?.adapter = adapterVar*/ + loadTextComponents() + } + + private fun loadImages(){ + + } + + private fun loadTextComponents() { + binding.apply { + tvTitle.text= post.location.name + tvTitle.invalidate() + tvLocationType.text=post.location.type.name + tvLocationType.invalidate() + tvLocationParent.text=post.location.country + tvLocationParent.invalidate() + tvRating.text=post.ratings.toString() + tvRating.invalidate() + tvNumberOfRatings.text=post.ratings.toString() + tvNumberOfRatings.invalidate() + } + } + +}
\ No newline at end of file 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 index b2eaa30..3d2bf46 100644 --- 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 @@ -6,10 +6,11 @@ import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.example.brzodolokacije.Models.Post +import com.example.brzodolokacije.Models.PostImage import com.example.brzodolokacije.databinding.PostImageBinding import com.example.brzodolokacije.databinding.PostPreviewBinding -class PostImageAdapter(val items : MutableList<java.io.File>) +class PostImageAdapter(val items : MutableList<PostImage>) : RecyclerView.Adapter<PostImageAdapter.ViewHolder>(){ //constructer has one argument - list of objects that need to be displayed //it is bound to xml of single item @@ -25,9 +26,9 @@ class PostImageAdapter(val items : MutableList<java.io.File>) } override fun getItemCount() = items.size inner class ViewHolder(itemView : PostImageBinding) : RecyclerView.ViewHolder(itemView.root){ - fun bind(item : java.io.File){ + fun bind(item : PostImage){ binding.apply { - locationImage.setImageBitmap(BitmapFactory.decodeStream(item.inputStream())) + //locationImage.setImageBitmap(BitmapFactory.decodeStream(item.inputStream())) } } } 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 56220d5..8e6093e 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 @@ -1,40 +1,52 @@ package com.example.brzodolokacije.Adapters +import android.app.Activity +import android.content.Context +import android.content.Intent +import android.os.Bundle import android.view.LayoutInflater import android.view.ViewGroup +import android.widget.Toast import androidx.recyclerview.widget.RecyclerView -import com.example.brzodolokacije.Models.ListItemModel -import com.example.brzodolokacije.Models.Post -import com.example.brzodolokacije.databinding.ListItemBinding +import com.example.brzodolokacije.Activities.ActivitySinglePost +import com.example.brzodolokacije.Models.PostPreview import com.example.brzodolokacije.databinding.PostPreviewBinding -import java.io.Console -class ShowPostsAdapter (val items : MutableList<Post>) - : RecyclerView.Adapter<ShowPostsAdapter.ViewHolder>(){ +class ShowPostsAdapter (val activity:Activity,val items : MutableList<PostPreview>) + : RecyclerView.Adapter<ShowPostsAdapter.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: PostPreviewBinding override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val inflater = LayoutInflater.from(parent.context) - binding=PostPreviewBinding.inflate(inflater,parent,false) + binding = PostPreviewBinding.inflate(inflater, parent, false) return ViewHolder(binding) } - override fun onBindViewHolder(holder: ViewHolder, position: Int){ + + 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" - } - }*/ + holder.itemView.setOnClickListener { + //Toast.makeText(activity,item._id,Toast.LENGTH_LONG).show() + val intent:Intent = Intent(activity,ActivitySinglePost::class.java) + var b=Bundle() + b.putParcelable("selectedPost", items[position]) + intent.putExtras(b) + activity.startActivity(intent) + } } + + override fun getItemCount() = items.size - inner class ViewHolder(itemView : PostPreviewBinding) : RecyclerView.ViewHolder(itemView.root){ - fun bind(item : Post){ + inner class ViewHolder(itemView: PostPreviewBinding) : RecyclerView.ViewHolder(itemView.root) { + fun bind(item: PostPreview) { binding.apply { - tvTitle.text=item.location.name - tvLocationParent.text=item.location.country - tvLocationType.text=item.location.type.toString() + tvTitle.text = item.location.name + tvLocationParent.text = item.location.country + tvLocationType.text = item.location.type.toString() + + itemView.isClickable = true + } } } diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt index 9092700..01b3f1d 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt @@ -95,6 +95,7 @@ class FragmentLogin : Fragment() { SharedPreferencesHelper.addValue("jwt",token,activity!!) val intent= Intent(activity!!, NavigationActivity::class.java) startActivity(intent) + activity!!.finish() }else{ if(response.errorBody()!=null) Toast.makeText(activity, response.errorBody()!!.string(), Toast.LENGTH_LONG).show(); 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 deleted file mode 100644 index 82835f2..0000000 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentPost.kt +++ /dev/null @@ -1,50 +0,0 @@ -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/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt index 6bc9d12..e9b4c08 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 @@ -1,26 +1,32 @@ package com.example.brzodolokacije.Fragments +import android.content.Context +import android.content.Intent import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.Toast import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.example.brzodolokacije.Activities.NavigationActivity import com.example.brzodolokacije.Adapters.SampleAdapter import com.example.brzodolokacije.Adapters.ShowPostsAdapter -import com.example.brzodolokacije.Models.ListItemModel -import com.example.brzodolokacije.Models.Location -import com.example.brzodolokacije.Models.LocationType -import com.example.brzodolokacije.Models.Post +import com.example.brzodolokacije.Models.* import com.example.brzodolokacije.R +import com.example.brzodolokacije.Services.RetrofitHelper +import com.example.brzodolokacije.Services.SharedPreferencesHelper import com.example.brzodolokacije.databinding.FragmentHomeBinding +import okhttp3.ResponseBody +import retrofit2.Call +import retrofit2.Response class FragmentShowPosts : Fragment() { private lateinit var binding: FragmentShowPosts - private var posts : MutableList<Post> = mutableListOf() + private var posts : MutableList<PostPreview> = mutableListOf() private var layoutManagerVar: RecyclerView.LayoutManager? = null private var adapterVar: RecyclerView.Adapter<ShowPostsAdapter.ViewHolder>? = null private var recyclerView: RecyclerView?=null @@ -30,28 +36,55 @@ class FragmentShowPosts : Fragment() { //load data for the list loadData() //instantiate adapter and linearLayout - adapterVar=ShowPostsAdapter(posts) + val postApi= RetrofitHelper.getInstance() + val token=SharedPreferencesHelper.getValue("jwt", requireActivity()) + val request=postApi.getPosts("Bearer "+token) + + request.enqueue(object : retrofit2.Callback<MutableList<PostPreview>?> { + override fun onResponse(call: Call<MutableList<PostPreview>?>, response: Response<MutableList<PostPreview>?>) { + if(response.isSuccessful){ + //posts=response.body()!! + //recyclerView?.adapter=ShowPostsAdapter(requireActivity(),posts) + Toast.makeText( + activity, "prosao zahtev", Toast.LENGTH_LONG + ).show() + }else{ + if(response.errorBody()!=null) + Toast.makeText(activity, response.errorBody()!!.string(), Toast.LENGTH_LONG).show(); + } + + + } + + override fun onFailure(call: Call<MutableList<PostPreview>?>, t: Throwable) { + Toast.makeText( + activity, t.toString(), Toast.LENGTH_LONG + ).show(); + } + }) + + adapterVar=ShowPostsAdapter(requireActivity(),posts) layoutManagerVar= LinearLayoutManager(activity) } private fun loadData() { - posts.add(Post("123", + posts.add(PostPreview("123","asdasd", Location("asd","Ajfelov toranj","Pariz", - "Francuska","idk",1.1,1.1, LocationType.GRAD),"opsiopsaid","opasdiad", - mutableListOf(),mutableListOf(),mutableListOf(),mutableListOf(),mutableListOf())) - posts.add(Post("123", + "Francuska","idk",1.1,1.1, LocationType.GRAD),"opsiopsaid",13, + 4.3f,mutableListOf(),mutableListOf())) + posts.add(PostPreview("123","asdasd", Location("asd","Ajfelov toranj","Pariz", - "Francuska","idk",1.1,1.1, LocationType.GRAD),"opsiopsaid","opasdiad", - mutableListOf(),mutableListOf(),mutableListOf(),mutableListOf(),mutableListOf())) - posts.add(Post("123", + "Francuska","idk",1.1,1.1, LocationType.GRAD),"opsiopsaid",13, + 4.3f,mutableListOf(),mutableListOf())) + posts.add(PostPreview("123","asdasd", Location("asd","Ajfelov toranj","Pariz", - "Francuska","idk",1.1,1.1, LocationType.GRAD),"opsiopsaid","opasdiad", - mutableListOf(),mutableListOf(),mutableListOf(),mutableListOf(),mutableListOf())) - posts.add(Post("123", + "Francuska","idk",1.1,1.1, LocationType.GRAD),"opsiopsaid",13, + 4.3f,mutableListOf(),mutableListOf())) + posts.add(PostPreview("123","asdasd", Location("asd","Ajfelov toranj","Pariz", - "Francuska","idk",1.1,1.1, LocationType.GRAD),"opsiopsaid","opasdiad", - mutableListOf(),mutableListOf(),mutableListOf(),mutableListOf(),mutableListOf())) - } + "Francuska","idk",1.1,1.1, LocationType.GRAD),"opsiopsaid",13, + 4.3f,mutableListOf(),mutableListOf())) + } override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt index 0bbf72e..bcb6e13 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt @@ -4,9 +4,11 @@ import com.example.brzodolokacije.Models.Auth.JustMail import com.example.brzodolokacije.Models.Auth.Login import com.example.brzodolokacije.Models.Auth.Register import com.example.brzodolokacije.Models.Auth.ResetPass +import com.example.brzodolokacije.Models.PostPreview import okhttp3.ResponseBody import retrofit2.Call import retrofit2.http.Body +import retrofit2.http.GET import retrofit2.http.Header import retrofit2.http.POST @@ -21,7 +23,8 @@ interface IBackendApi { fun forgotpass(@Body obj:JustMail):Call<ResponseBody> @POST("/api/auth/resetpass") fun resetpass(@Body obj:ResetPass):Call<ResponseBody> - + @GET("/api/post") + fun getPosts(@Header("Authorization") authHeader:String):Call<MutableList<PostPreview>> //@POST("putanja") //fun add(@Body obj:Post,@Header("Authorization") authHeader:String):Call<Post> }
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/MainActivity.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/MainActivity.kt index e55da11..0245e9b 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/MainActivity.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/MainActivity.kt @@ -30,6 +30,7 @@ class MainActivity : AppCompatActivity() { startActivity(intent) + finish() } fun checkLoggedIn():Boolean{ @@ -48,7 +49,6 @@ class MainActivity : AppCompatActivity() { } fun refreshJwt(token:String){ - Log.d("Main","RIPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP") if(token==null) return var refreshJwt= RetrofitHelper.getInstance().refreshJwt("Bearer "+token) diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Location.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Location.kt index 25125cd..04bf3a1 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Location.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Location.kt @@ -1,7 +1,10 @@ package com.example.brzodolokacije.Models +import android.os.Parcelable import com.example.brzodolokacije.Models.LocationType +import kotlinx.android.parcel.Parcelize +@Parcelize data class Location ( var _id:String, var name:String, @@ -11,4 +14,4 @@ data class Location ( var latitude:Double, var longitude:Double, var type:LocationType - ) + ): Parcelable diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Post.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Post.kt index 2ac2619..f667fac 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Post.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Post.kt @@ -1,5 +1,7 @@ package com.example.brzodolokacije.Models +import android.os.Parcelable +import kotlinx.android.parcel.Parcelize import okhttp3.MultipartBody import java.time.LocalDateTime @@ -23,7 +25,8 @@ data class PostSend( var images: List<MultipartBody.Part> ) -data class PostPreview( +@Parcelize +data class PostPreview ( var _id:String, var ownerId:String, var location:Location, @@ -32,16 +35,16 @@ data class PostPreview( var ratings:Float, var comments:List<Comment>, var images:List<PostImage> -) - +):Parcelable +@Parcelize data class Comment ( var userId:String, var comment:String, var parent:Comment, var timeStamp: LocalDateTime -) +):Parcelable data class Rating( var useridval :String, diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/PostImage.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/PostImage.kt index d024272..93326b3 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/PostImage.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/PostImage.kt @@ -1,6 +1,10 @@ package com.example.brzodolokacije.Models +import android.os.Parcelable +import kotlinx.android.parcel.Parcelize + +@Parcelize data class PostImage ( var _id:String, var path:String - )
\ No newline at end of file + ): Parcelable
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml new file mode 100644 index 0000000..d323d0c --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml @@ -0,0 +1,128 @@ +<?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:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="match_parent" + xmlns:app="http://schemas.android.com/apk/res-auto" + tools:context=".Activities.ActivitySinglePost"> + + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/rvMain" + android:layout_width="match_parent" + android:layout_height="443dp" + android:orientation="horizontal" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + </androidx.recyclerview.widget.RecyclerView> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical"> + + <TextView + android:id="@+id/tvTitle" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="Naslov" /> + + <TextView + android:id="@+id/tvLocationType" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="11dp" + android:text="tip lokacije" /> + + <TextView + android:id="@+id/tvLocationParent" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="Drzava, grad" /> + + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <LinearLayout + android:layout_width="213dp" + android:layout_height="27dp" + android:orientation="horizontal"> + + <ImageView + android:id="@+id/star1" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:src="@android:drawable/btn_star_big_on" /> + + <ImageView + android:id="@+id/star2" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:src="@android:drawable/btn_star_big_on" /> + + <ImageView + android:id="@+id/star3" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:src="@android:drawable/btn_star_big_on" /> + + <ImageView + android:id="@+id/star4" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:src="@android:drawable/btn_star_big_on" /> + + <ImageView + android:id="@+id/star5" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:src="@android:drawable/btn_star_big_on" /> + </LinearLayout> + + <TextView + android:id="@+id/tvRating" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginEnd="8dp" + android:text="4.2" + app:layout_constraintEnd_toStartOf="@+id/textView10" + tools:layout_editor_absoluteY="0dp" /> + + <TextView + android:id="@+id/tvNumberOfRatings" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="(10,500)" + app:layout_constraintEnd_toEndOf="parent" + tools:layout_editor_absoluteY="0dp" /> + </androidx.constraintlayout.widget.ConstraintLayout> + + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_margin="10dp" + android:padding="10dp" + android:background="@drawable/rounded_picture_background" + android:elevation="5dp"> + + <TextView + android:id="@+id/tvDescription" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="TextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextView" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.048" + app:layout_constraintStart_toStartOf="parent" + tools:layout_editor_absoluteY="4dp" /> + </androidx.constraintlayout.widget.ConstraintLayout> + </LinearLayout> + + +</LinearLayout>
\ 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 deleted file mode 100644 index 0b37348..0000000 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_post.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?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 |