🚧 reorganize the view

features/retrofit/1
Jordan ARTZET 2 years ago
parent 86f7de2588
commit be99e981bf

@ -3,7 +3,10 @@ package fr.iut.pm.movieapplication.ui.activity
import android.os.Build import android.os.Build
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle import android.os.Bundle
import android.view.Menu
import android.view.View import android.view.View
import android.widget.SearchView.OnQueryTextListener
import androidx.appcompat.widget.SearchView
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import com.google.android.material.bottomnavigation.BottomNavigationView import com.google.android.material.bottomnavigation.BottomNavigationView
import fr.iut.pm.movieapplication.R import fr.iut.pm.movieapplication.R
@ -12,6 +15,7 @@ import fr.iut.pm.movieapplication.api.config.GlobalImageConfig
import fr.iut.pm.movieapplication.repository.MovieRepository import fr.iut.pm.movieapplication.repository.MovieRepository
import fr.iut.pm.movieapplication.ui.fragments.HomeSectionsFragment import fr.iut.pm.movieapplication.ui.fragments.HomeSectionsFragment
import fr.iut.pm.movieapplication.ui.fragments.MoviesFragment import fr.iut.pm.movieapplication.ui.fragments.MoviesFragment
import fr.iut.pm.movieapplication.ui.fragments.ShowsFragment
import fr.iut.pm.movieapplication.utils.Constants import fr.iut.pm.movieapplication.utils.Constants
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
@ -41,6 +45,11 @@ class MainActivity : AppCompatActivity() {
loadFragments(MoviesFragment(this)) loadFragments(MoviesFragment(this))
return@setOnItemSelectedListener true return@setOnItemSelectedListener true
} }
R.id.series_page -> {
loadFragments(ShowsFragment(this))
return@setOnItemSelectedListener true
}
else -> false else -> false
} }
} }
@ -58,11 +67,29 @@ class MainActivity : AppCompatActivity() {
// status bar is hidden, so hide that too if necessary. // status bar is hidden, so hide that too if necessary.
actionBar?.hide() actionBar?.hide()
} }
}
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.app_menu, menu)
val searchItem = menu?.findItem(R.id.search_bar)
val searchView : SearchView = searchItem?.actionView as SearchView
searchView.setOnQueryTextListener( object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String?): Boolean {
TODO("Not yet implemented")
return false
}
override fun onQueryTextChange(newText: String?): Boolean {
TODO("Not yet implemented")
return false
}
})
return true
} }
private fun loadFragments(fragment: Fragment) { private fun loadFragments(fragment: Fragment) {

@ -37,13 +37,6 @@ class MoviesFragment(
moviesRecyclerView?.addItemDecoration(CategoryItemDecoration()) moviesRecyclerView?.addItemDecoration(CategoryItemDecoration())
} }
return view return view
} }
} }

@ -0,0 +1,15 @@
package fr.iut.pm.movieapplication.ui.fragments
import android.os.Bundle
import androidx.fragment.app.Fragment
import fr.iut.pm.movieapplication.ui.activity.MainActivity
class ShowsFragment(
private val context : MainActivity
) : Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
}

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="@color/light_green"/>
<item android:state_checked="false" android:color="@color/light_grey"/>
</selector>

@ -11,7 +11,7 @@
android:id="@+id/fragment_container" android:id="@+id/fragment_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginBottom="75dp" android:layout_marginBottom="55dp"
app:layout_constraintBottom_toTopOf="@+id/navigation_view" app:layout_constraintBottom_toTopOf="@+id/navigation_view"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@ -20,10 +20,14 @@
<com.google.android.material.bottomnavigation.BottomNavigationView <com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/navigation_view" android:id="@+id/navigation_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="75dp" android:layout_height="wrap_content"
android:background="@color/dark_blue"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:itemTextColor="@drawable/item_selector"
app:itemIconTint="@drawable/item_selector"
app:labelVisibilityMode="labeled"
app:menu="@menu/bottom_navigation_menu" /> app:menu="@menu/bottom_navigation_menu" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

@ -17,7 +17,11 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/home_page_trends_section_title" android:text="@string/home_page_trends_section_title"
android:textSize="20sp" /> android:layout_marginLeft="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:layout_marginTop="@dimen/default_margin"
style="@style/SectionTitleStyle"
/>
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/home_trends_recycler_view" android:id="@+id/home_trends_recycler_view"
@ -31,7 +35,10 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/home_page_popularity_section_title" android:text="@string/home_page_popularity_section_title"
android:textSize="20sp" /> android:layout_marginLeft="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:layout_marginTop="@dimen/default_margin"
style="@style/SectionTitleStyle" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/home_popularity_recycler_view" android:id="@+id/home_popularity_recycler_view"
@ -45,7 +52,10 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/home_page_free_section_title" android:text="@string/home_page_free_section_title"
android:textSize="20sp" /> android:layout_marginLeft="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:layout_marginTop="@dimen/default_margin"
style="@style/SectionTitleStyle" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/home_free_recycler_view" android:id="@+id/home_free_recycler_view"

@ -8,6 +8,7 @@
android:id="@+id/movies_item_recycler_view" android:id="@+id/movies_item_recycler_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/default_margin"
/> />
</LinearLayout> </LinearLayout>

@ -4,7 +4,8 @@
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="150dp" android:layout_width="150dp"
android:layout_height="match_parent" > android:layout_height="match_parent"
android:layout_marginTop="10dp">
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:id="@+id/cardView" android:id="@+id/cardView"
@ -29,7 +30,6 @@
android:id="@+id/item_name" android:id="@+id/item_name"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Nom du film"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cardView" /> app:layout_constraintTop_toBottomOf="@+id/cardView" />
@ -38,7 +38,6 @@
android:id="@+id/item_date" android:id="@+id/item_date"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="23 nov 2012"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/item_name" /> app:layout_constraintTop_toBottomOf="@+id/item_name" />

@ -10,6 +10,7 @@
android:layout_marginLeft="10dp" android:layout_marginLeft="10dp"
android:layout_marginStart="10dp" android:layout_marginStart="10dp"
android:layout_marginEnd="10dp" android:layout_marginEnd="10dp"
android:layout_marginTop="@dimen/default_margin"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:cardCornerRadius="10dp"> app:cardCornerRadius="10dp">

@ -3,21 +3,18 @@
<item <item
android:id="@+id/home_page" android:id="@+id/home_page"
android:title="@string/bottom_home_item"
android:icon="@drawable/ic_home" android:icon="@drawable/ic_home"
/> android:title="@string/bottom_home_item" />
<item <item
android:id="@+id/movies_page" android:id="@+id/movies_page"
android:title="@string/bottom_movies_item"
android:icon="@drawable/ic_movie" android:icon="@drawable/ic_movie"
/> android:title="@string/bottom_movies_item" />
<item <item
android:id="@+id/series_page" android:id="@+id/series_page"
android:title="@string/bottom_series_item"
android:icon="@drawable/ic_tv_shows" android:icon="@drawable/ic_tv_shows"
/> android:title="@string/bottom_series_item" />
<item <item
android:id="@+id/artist_page" android:id="@+id/artist_page"
android:title="@string/bottom_artist_item" android:icon="@drawable/ic_baseline_star_border_24"
android:icon="@drawable/ic_baseline_star_border_24"/> android:title="@string/bottom_artist_item" />
</menu> </menu>

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/search_bar"
android:title="Search"
app:showAsAction="collapseActionView|ifRoom"
app:actionViewClass="androidx.appcompat.widget.SearchView" />
</menu>

@ -3,21 +3,18 @@
<item <item
android:id="@+id/home_page" android:id="@+id/home_page"
android:title="@string/bottom_home_item"
android:icon="@drawable/ic_home" android:icon="@drawable/ic_home"
/> android:title="@string/bottom_home_item" />
<item <item
android:id="@+id/movies_page" android:id="@+id/movies_page"
android:title="@string/bottom_movies_item"
android:icon="@drawable/ic_movie" android:icon="@drawable/ic_movie"
/> android:title="@string/bottom_movies_item" />
<item <item
android:id="@+id/series_page" android:id="@+id/series_page"
android:title="@string/bottom_series_item"
android:icon="@drawable/ic_tv_shows" android:icon="@drawable/ic_tv_shows"
/> android:title="@string/bottom_series_item" />
<item <item
android:id="@+id/artist_page" android:id="@+id/artist_page"
android:title="@string/bottom_artist_item" android:icon="@drawable/ic_baseline_star_border_24"
android:icon="@drawable/ic_baseline_star_border_24"/> android:title="@string/bottom_artist_item" />
</menu> </menu>

@ -1,6 +1,6 @@
<resources xmlns:tools="http://schemas.android.com/tools"> <resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. --> <!-- Base application theme. -->
<style name="Theme.MovieApplication" parent="Theme.Material3.Dark.NoActionBar"> <style name="Theme.MovieApplication" parent="Theme.Material3.Dark">
<!-- Primary brand color. --> <!-- Primary brand color. -->
<item name="colorPrimary">@color/dark_blue</item> <item name="colorPrimary">@color/dark_blue</item>
<item name="colorPrimaryVariant">@color/black</item> <item name="colorPrimaryVariant">@color/black</item>

@ -8,7 +8,9 @@
<color name="black">#FF000000</color> <color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color> <color name="white">#FFFFFFFF</color>
<color name="light_grey">#e3e3e3</color>
<color name="dark_blue">#032541</color> <color name="dark_blue">#032541</color>
<color name="light_blue">#01B4E4</color> <color name="light_blue">#01B4E4</color>
<color name="lighter_green">#c0fecf</color>
<color name="light_green">#1ed5a9 </color> <color name="light_green">#1ed5a9 </color>
</resources> </resources>

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="default_margin">20dp</dimen>
</resources>

@ -1,6 +1,6 @@
<resources xmlns:tools="http://schemas.android.com/tools"> <resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. --> <!-- Base application theme. -->
<style name="Theme.MovieApplication" parent="@style/Theme.Material3.Light"> <style name="Theme.MovieApplication" parent="Theme.Material3.Light">
<!-- Primary brand color. --> <!-- Primary brand color. -->
<item name="colorPrimary">@color/light_blue</item> <item name="colorPrimary">@color/light_blue</item>
<item name="colorPrimaryVariant">@color/dark_blue</item> <item name="colorPrimaryVariant">@color/dark_blue</item>
@ -13,4 +13,30 @@
<item name="android:statusBarColor" tools:targetApi="21">?attr/colorPrimaryVariant</item> <item name="android:statusBarColor" tools:targetApi="21">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. --> <!-- Customize your theme here. -->
</style> </style>
<!-- Create the component for the default title -->
<style name="DefaultTextStyle">
<item name="android:textColor">@color/black</item>
<item name="android:textSize">16sp</item>
<item name="android:fontFamily">@font/source_sans_pro</item>
</style>
<style name="SubtitleTextStyle" parent="DefaultTextStyle">
<item name="android:textColor">@color/black</item>
<item name="android:textSize">20sp</item>
</style>
<style name="SectionTitleStyle" parent="DefaultTextStyle">
<item name="android:textSize">24sp</item>
</style>
<style name="TitleTextStyle" parent="SubtitleTextStyle">
<item name="android:textColor">@color/black</item>
<item name="android:textSize">24sp</item>
</style>
<style name="BottomMenuStyle" parent="Widget.Material3.BottomNavigationView">
<item name="android:textSize">16sp</item>
</style>
</resources> </resources>
Loading…
Cancel
Save