diff options
12 files changed, 204 insertions, 49 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml index 7a257ec..f6e0fc5 100644 --- a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml +++ b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml @@ -16,13 +16,6 @@ android:usesCleartextTraffic="true" tools:targetApi="31"> <activity - android:name=".Activities.ActivityShowPosts" - android:exported="false"> - <meta-data - android:name="android.app.lib_name" - android:value="" /> - </activity> - <activity android:name=".Activities.SplashPage" android:exported="true"> <intent-filter> diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityShowPosts.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityShowPosts.kt deleted file mode 100644 index d1ad0a9..0000000 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityShowPosts.kt +++ /dev/null @@ -1,12 +0,0 @@ -package com.example.brzodolokacije.Activities - -import androidx.appcompat.app.AppCompatActivity -import android.os.Bundle -import com.example.brzodolokacije.R - -class ActivityShowPosts : AppCompatActivity() { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContentView(R.layout.activity_show_posts) - } -}
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/NavigationActivity.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/NavigationActivity.kt index 0933460..d36dbae 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/NavigationActivity.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/NavigationActivity.kt @@ -5,10 +5,7 @@ import android.os.Bundle import android.view.View import android.widget.Button import androidx.fragment.app.Fragment -import com.example.brzodolokacije.Fragments.FragmentAddPost -import com.example.brzodolokacije.Fragments.FragmentBrowse -import com.example.brzodolokacije.Fragments.FragmentHome -import com.example.brzodolokacije.Fragments.FragmentProfile +import com.example.brzodolokacije.Fragments.* import com.example.brzodolokacije.R import com.google.android.material.bottomnavigation.BottomNavigationView @@ -17,15 +14,15 @@ class NavigationActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_navigation) - val homeFragment=FragmentHome() + val fragmentShowPosts=FragmentShowPosts() val browseFragment=FragmentBrowse() val addPostFragment=FragmentAddPost() val profileFragment=FragmentProfile() val bottomNav=findViewById<View>(R.id.bottomNavigationView) as BottomNavigationView - setCurrentFragment(homeFragment) + setCurrentFragment(fragmentShowPosts) bottomNav.setOnNavigationItemSelectedListener { when(it.itemId){ - R.id.navHome->setCurrentFragment(homeFragment) + R.id.navHome->setCurrentFragment(fragmentShowPosts) R.id.navAddPost->setCurrentFragment(addPostFragment) R.id.navBrowse->setCurrentFragment(browseFragment) R.id.navProfile->setCurrentFragment(profileFragment) 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 new file mode 100644 index 0000000..c8a0b77 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt @@ -0,0 +1,35 @@ +package com.example.brzodolokacije.Adapters + +import android.view.LayoutInflater +import android.view.ViewGroup +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.databinding.PostPreviewBinding + +class ShowPostsAdapter (val items : MutableList<Post>) + : 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) + 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 : PostPreviewBinding) : RecyclerView.ViewHolder(itemView.root){ + fun bind(item : Post){ + binding.apply { + tvTitle.text=item.location.name + tvLocationParent.text=item.location.country + tvLocationType.text=item.location.type.toString() + } + } + } +}
\ 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 new file mode 100644 index 0000000..8dcef02 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt @@ -0,0 +1,69 @@ +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.SampleAdapter +import com.example.brzodolokacije.Adapters.ShowPostsAdapter +import com.example.brzodolokacije.Models.ListItemModel +import com.example.brzodolokacije.Models.Location +import com.example.brzodolokacije.Models.LocationTypes +import com.example.brzodolokacije.Models.Post +import com.example.brzodolokacije.R +import com.example.brzodolokacije.databinding.FragmentHomeBinding + + +class FragmentShowPosts : Fragment() { + + private lateinit var binding: FragmentShowPosts + private var posts : MutableList<Post> = mutableListOf() + private var layoutManagerVar: RecyclerView.LayoutManager? = null + private var adapterVar: RecyclerView.Adapter<ShowPostsAdapter.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=ShowPostsAdapter(posts) + layoutManagerVar= LinearLayoutManager(activity) + } + + private fun loadData() { + posts.add(Post("123","213", + Location("asd","Ajfelov toranj","Pariz", + "Francuska","idk","asda","asdsd",LocationTypes.Grad),"opsiopsaid",1.1,56, + mutableListOf(),mutableListOf())) + posts.add(Post("123","213", + Location("asd","Ajfelov toranj","Pariz", + "Francuska","idk","asda","asdsd",LocationTypes.Grad),"opsiopsaid",1.1,56, + mutableListOf(),mutableListOf(),)) + posts.add(Post("123","213", + Location("asd","Ajfelov toranj","Pariz", + "Francuska","idk","asda","asdsd",LocationTypes.Grad),"opsiopsaid",1.1,56, + mutableListOf(),mutableListOf(),)) + posts.add(Post("123","213", + Location("asd","Ajfelov toranj","Pariz", + "Francuska","idk","asda","asdsd",LocationTypes.Grad),"opsiopsaid",1.1,56, + mutableListOf(),mutableListOf(),)) + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + val rootView = inflater?.inflate(R.layout.fragment_show_posts, 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/drawable/filter.png b/Client/BrzoDoLokacije/app/src/main/res/drawable/filter.png Binary files differindex 8cf4b39..4342c2c 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/drawable/filter.png +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/filter.png diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/grid.png b/Client/BrzoDoLokacije/app/src/main/res/drawable/grid.png Binary files differnew file mode 100644 index 0000000..03d9ef9 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/grid.png diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/list.webp b/Client/BrzoDoLokacije/app/src/main/res/drawable/list.webp Binary files differnew file mode 100644 index 0000000..608932f --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/list.webp diff --git a/Client/BrzoDoLokacije/app/src/main/res/drawable/rounded_picture_background.xml b/Client/BrzoDoLokacije/app/src/main/res/drawable/rounded_picture_background.xml index 85f54be..2f898b0 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/drawable/rounded_picture_background.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/drawable/rounded_picture_background.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> - <corners android:radius="40dp"/> + <corners android:radius="20dp"/> <solid android:color="#FFFFFF"></solid> </shape> diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_show_posts.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_show_posts.xml deleted file mode 100644 index 20c7560..0000000 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_show_posts.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?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" - tools:context=".Activities.ActivityShowPosts"/>
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_show_posts.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_show_posts.xml new file mode 100644 index 0000000..4565b74 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_show_posts.xml @@ -0,0 +1,81 @@ +<?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=".Fragments.FragmentShowPosts"> + + <EditText + android:id="@+id/editTextTextPersonName2" + android:layout_width="wrap_content" + android:layout_height="50dp" + android:layout_gravity="center_horizontal" + android:ems="10" + android:inputType="textPersonName" + android:text="Name" /> + + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="50dp"> + + + <ImageButton + android:id="@+id/button3" + android:layout_width="50dp" + android:layout_height="50dp" + android:layout_alignParentRight="true" + android:src="@drawable/filter" + android:scaleType="centerCrop" + android:background="@color/white"/> + + <ImageButton + android:id="@+id/imageButton1" + android:layout_width="50dp" + android:layout_height="50dp" + android:layout_marginStart="8dp" + android:layout_weight="1" + android:scaleType="centerCrop" + android:src="@drawable/sort" + app:layout_constraintStart_toEndOf="@+id/button3" + tools:layout_editor_absoluteY="0dp" + android:background="@color/white"/> + + <ImageButton + android:id="@+id/imageButton2" + android:layout_width="50dp" + android:layout_height="50dp" + android:layout_marginEnd="16dp" + android:layout_weight="1" + android:background="@color/white" + android:scaleType="centerCrop" + android:src="@drawable/list" + app:layout_constraintEnd_toStartOf="@+id/imageButton3" + app:layout_constraintHorizontal_bias="1.0" + app:layout_constraintStart_toEndOf="@+id/imageButton1" + tools:layout_editor_absoluteY="0dp" /> + + <ImageButton + android:id="@+id/imageButton3" + android:layout_width="50dp" + android:layout_height="50dp" + android:layout_marginStart="248dp" + android:layout_weight="1" + android:background="@color/white" + android:scaleType="centerCrop" + android:src="@drawable/grid" + app:layout_constraintStart_toEndOf="@+id/imageButton1" + tools:layout_editor_absoluteY="0dp" /> + </androidx.constraintlayout.widget.ConstraintLayout> + + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/rvMain" + 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_preview.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml index 48a3289..a3642e2 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/post_preview.xml @@ -4,13 +4,15 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_padding="5dp" + android:layout_margin="0dp" android:layout_margin="0dp" android:background="@drawable/rounded_picture_background" android:clipToOutline="true" > <ImageView - android:id="@+id/imageView8" + android:id="@+id/locationImage" android:layout_width="match_parent" android:layout_height="330dp" android:outlineProvider="background" @@ -23,19 +25,19 @@ app:layout_constraintVertical_bias="0.0" /> <View - android:id="@+id/view" + android:id="@+id/vBanner" android:layout_width="match_parent" android:layout_height="80dp" android:background="@color/dark_blue_transparent" android:outlineProvider="background" - app:layout_constraintBottom_toBottomOf="@+id/imageView8" + app:layout_constraintBottom_toBottomOf="@+id/locationImage" tools:layout_editor_absoluteX="0dp"> </View> <TextView - android:id="@+id/textView5" + android:id="@+id/tvTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="top|left" @@ -45,37 +47,34 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.076" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="@+id/view" + app:layout_constraintTop_toTopOf="@+id/vBanner" app:layout_constraintVertical_bias="0.18" /> <TextView - android:id="@+id/textView6" + android:id="@+id/tvLocationType" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tip lokacije" android:textColor="@color/white" - app:layout_constraintBottom_toBottomOf="@+id/imageView8" - app:layout_constraintEnd_toStartOf="@+id/textView7" + app:layout_constraintBottom_toBottomOf="@+id/vBanner" + app:layout_constraintEnd_toStartOf="@+id/tvLocationParent" app:layout_constraintHorizontal_bias="0.112" app:layout_constraintStart_toStartOf="parent" - - app:layout_constraintTop_toTopOf="@+id/view" + app:layout_constraintTop_toTopOf="@+id/vBanner" app:layout_constraintVertical_bias="0.721" /> <TextView - android:id="@+id/textView7" + android:id="@+id/tvLocationParent" android:layout_width="wrap_content" android:layout_height="match_parent" - android:layout_gravity="right" - android:gravity="right" android:text="grad, drzava" - android:textAlignment="gravity" + android:textAlignment="viewEnd" android:textColor="@color/white" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.952" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="@+id/view" + app:layout_constraintTop_toTopOf="@+id/vBanner" app:layout_constraintVertical_bias="0.737" /> |