Visual changes, mostly colour-related

This commit is contained in:
denizk0461
2023-04-12 22:07:18 +02:00
parent d55a304cec
commit 53c2a2a9c4
13 changed files with 77 additions and 21 deletions
@@ -1,14 +1,15 @@
package com.denizk0461.studip.adapter package com.denizk0461.studip.adapter
import android.graphics.Color
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.denizk0461.studip.R
import com.denizk0461.studip.model.StudIPEvent import com.denizk0461.studip.model.StudIPEvent
import com.denizk0461.studip.databinding.ItemEventBinding import com.denizk0461.studip.databinding.ItemEventBinding
class StudIPEventAdapter(events: List<StudIPEvent>, private val currentDay: Int) : RecyclerView.Adapter<StudIPEventAdapter.EventViewHolder>() { class StudIPEventAdapter(
events: List<StudIPEvent>, private val currentDay: Int, private val onClickListener: OnClickListener
) : RecyclerView.Adapter<StudIPEventAdapter.EventViewHolder>() {
private val filteredEvents: List<StudIPEvent> = events.filter { it.day == currentDay } private val filteredEvents: List<StudIPEvent> = events.filter { it.day == currentDay }
@@ -41,7 +42,20 @@ class StudIPEventAdapter(events: List<StudIPEvent>, private val currentDay: Int)
// holder.binding.cardBackground.cardForegroundColor = Color.TRANSPARENT // holder.binding.cardBackground.cardForegroundColor = Color.TRANSPARENT
} }
holder.binding.cardBackground.setOnClickListener {
onClickListener.onClick(currentItem)
}
holder.binding.cardBackground.setOnLongClickListener {
onClickListener.onLongClick(currentItem)
true
}
// TODO inflate view saying "no events!" or sth // TODO inflate view saying "no events!" or sth
} }
interface OnClickListener {
fun onClick(event: StudIPEvent)
fun onLongClick(event: StudIPEvent)
}
} }
@@ -7,7 +7,7 @@ import androidx.recyclerview.widget.RecyclerView
import com.denizk0461.studip.model.StudIPEvent import com.denizk0461.studip.model.StudIPEvent
import com.denizk0461.studip.databinding.ItemEventPageBinding import com.denizk0461.studip.databinding.ItemEventPageBinding
class StudIPEventPageAdapter(private var events: List<StudIPEvent>) : RecyclerView.Adapter<StudIPEventPageAdapter.EventPageViewHolder>() { class StudIPEventPageAdapter(private var events: List<StudIPEvent>, private val onClickListener: StudIPEventAdapter.OnClickListener) : RecyclerView.Adapter<StudIPEventPageAdapter.EventPageViewHolder>() {
class EventPageViewHolder(val binding: ItemEventPageBinding) : RecyclerView.ViewHolder(binding.root) class EventPageViewHolder(val binding: ItemEventPageBinding) : RecyclerView.ViewHolder(binding.root)
@@ -25,7 +25,7 @@ class StudIPEventPageAdapter(private var events: List<StudIPEvent>) : RecyclerVi
holder.binding.pageRecyclerView.apply { holder.binding.pageRecyclerView.apply {
layoutManager = LinearLayoutManager(holder.binding.root.context, LinearLayoutManager.VERTICAL, false) layoutManager = LinearLayoutManager(holder.binding.root.context, LinearLayoutManager.VERTICAL, false)
adapter = StudIPEventAdapter(events, currentDay = position) // TODO check if empty adapter = StudIPEventAdapter(events, currentDay = position, onClickListener) // TODO check if empty
scheduleLayoutAnimation() scheduleLayoutAnimation()
} }
} }
@@ -10,8 +10,10 @@ import androidx.fragment.app.viewModels
import androidx.navigation.fragment.NavHostFragment.Companion.findNavController import androidx.navigation.fragment.NavHostFragment.Companion.findNavController
import com.denizk0461.studip.R import com.denizk0461.studip.R
import com.denizk0461.studip.activity.FetcherActivity import com.denizk0461.studip.activity.FetcherActivity
import com.denizk0461.studip.adapter.StudIPEventAdapter
import com.denizk0461.studip.adapter.StudIPEventPageAdapter import com.denizk0461.studip.adapter.StudIPEventPageAdapter
import com.denizk0461.studip.databinding.FragmentEventBinding import com.denizk0461.studip.databinding.FragmentEventBinding
import com.denizk0461.studip.model.StudIPEvent
import com.denizk0461.studip.viewmodel.EventViewModel import com.denizk0461.studip.viewmodel.EventViewModel
import com.google.android.material.tabs.TabLayoutMediator import com.google.android.material.tabs.TabLayoutMediator
import java.util.* import java.util.*
@@ -55,7 +57,14 @@ class EventFragment : Fragment() {
else -> 0 else -> 0
} }
viewPagerAdapter = StudIPEventPageAdapter(listOf())//DummyData.events.toList()) viewPagerAdapter = StudIPEventPageAdapter(listOf(), object : StudIPEventAdapter.OnClickListener {
override fun onClick(event: StudIPEvent) {
// do nothing
}
override fun onLongClick(event: StudIPEvent) {
}
})//DummyData.events.toList())
binding.viewPager.adapter = viewPagerAdapter binding.viewPager.adapter = viewPagerAdapter
TabLayoutMediator(binding.dayTabLayout, binding.viewPager) { tab, position -> TabLayoutMediator(binding.dayTabLayout, binding.viewPager) { tab, position ->
@@ -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="?attr/colorPrimary" />
<!-- <item android:state_checked="false" android:color="@color/your_color"/>-->
</selector>
@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true"
android:color="@color/primaryLight" />
<item android:state_pressed="true"
android:state_enabled="false"
android:color="@android:color/transparent" />
<item android:state_enabled="false"
android:color="@android:color/transparent" />
</selector>
+5
View File
@@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#000000"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z"/>
</vector>
+1
View File
@@ -42,6 +42,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:menu="@menu/nav_view_items" app:menu="@menu/nav_view_items"
app:itemActiveIndicatorStyle="@style/NavigationViewItemIndicator"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/> app:layout_constraintEnd_toEndOf="parent"/>
+2 -1
View File
@@ -34,6 +34,7 @@
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="@dimen/fab_margin" android:layout_marginEnd="@dimen/fab_margin"
android:layout_marginBottom="@dimen/fab_margin" android:layout_marginBottom="@dimen/fab_margin"
app:srcCompat="@android:drawable/ic_dialog_email" /> app:srcCompat="@drawable/refresh"
app:backgroundTint="?attr/colorPrimary"/>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
+1
View File
@@ -2,6 +2,7 @@
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android" <androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingHorizontal="8dp" android:paddingHorizontal="8dp"
android:paddingVertical="4dp" android:paddingVertical="4dp"
android:orientation="vertical"> android:orientation="vertical">
+9 -1
View File
@@ -3,6 +3,14 @@
<style name="Base.Theme.StudIPTimetable" parent="Theme.Material3.DayNight.NoActionBar"> <style name="Base.Theme.StudIPTimetable" parent="Theme.Material3.DayNight.NoActionBar">
<!-- colour --> <!-- colour -->
<item name="colorPrimary">@color/primaryDark</item> <item name="colorPrimary">@color/primaryLight</item>
<item name="rippleColor">@color/primaryLight</item>
<item name="colorNavHighlight">@color/highlightLight</item>
<!-- <item name="colorPrimaryOnContrast">@color/colorPrimaryOnContrastDark</item>-->
</style>
<style name="NavigationViewItemIndicator" parent="Widget.Material3.BottomNavigationView.ActiveIndicator">
<item name="android:color">@color/primaryLight</item>
</style> </style>
</resources> </resources>
+5
View File
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="colorNavHighlight" format="color" />
<attr name="colorPrimaryOnContrast" format="color" />
</resources>
+11 -2
View File
@@ -3,6 +3,15 @@
<color name="black">#FF000000</color> <color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color> <color name="white">#FFFFFFFF</color>
<color name="primaryLight">#0F4759</color> <!-- <color name="primaryLight">#0F4759</color>-->
<color name="primaryDark">#62CCE4</color> <!-- <color name="primaryDark">#62CCE4</color>-->
<color name="primaryDark">#B82729</color>
<color name="primaryLight">#B2665A</color>
<color name="highlightDark">#871D1E</color>
<color name="highlightLight">#CB9890</color>
<!-- <color name="colorPrimaryOnContrastLight">#E6898B</color>-->
<!-- <color name="colorPrimaryOnContrastDark">#B77166</color>-->
</resources> </resources>
+9 -1
View File
@@ -6,8 +6,16 @@
<item name="fontFamily">@font/lato_regular</item> <item name="fontFamily">@font/lato_regular</item>
<!-- colour --> <!-- colour -->
<item name="colorPrimary">@color/primaryLight</item> <item name="colorPrimary">@color/primaryDark</item>
<item name="rippleColor">@color/primaryDark</item>
<item name="colorNavHighlight">@color/highlightDark</item>
<!-- <item name="colorPrimaryOnContrast">@color/colorPrimaryOnContrastLight</item>-->
</style> </style>
<style name="Theme.StudIPTimetable" parent="Base.Theme.StudIPTimetable" /> <style name="Theme.StudIPTimetable" parent="Base.Theme.StudIPTimetable" />
<style name="NavigationViewItemIndicator" parent="Widget.Material3.BottomNavigationView.ActiveIndicator">
<item name="android:color">@color/primaryDark</item>
</style>
</resources> </resources>