mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 06:17:57 +01:00 
			
		
		
		
	Tweak theme preference item UI (closes #5805)
This commit is contained in:
		| @@ -5,10 +5,12 @@ import android.view.View | ||||
| import android.view.ViewGroup | ||||
| import androidx.appcompat.view.ContextThemeWrapper | ||||
| import androidx.recyclerview.widget.RecyclerView | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceValues | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import eu.kanade.tachiyomi.databinding.PrefThemeItemBinding | ||||
| import eu.kanade.tachiyomi.ui.base.activity.BaseThemedActivity | ||||
| import eu.kanade.tachiyomi.util.system.getResourceColor | ||||
| import uy.kohesive.injekt.injectLazy | ||||
|  | ||||
| class ThemesPreferenceAdapter(private val clickListener: OnItemClickListener) : | ||||
| @@ -45,14 +47,19 @@ class ThemesPreferenceAdapter(private val clickListener: OnItemClickListener) : | ||||
|     } | ||||
|  | ||||
|     inner class ThemeViewHolder(private val view: View) : RecyclerView.ViewHolder(view) { | ||||
|  | ||||
|         private val selectedColor = view.context.getResourceColor(R.attr.colorAccent) | ||||
|         private val unselectedColor = view.context.getResourceColor(android.R.attr.textColorHint) | ||||
|  | ||||
|         fun bind(appTheme: PreferenceValues.AppTheme) { | ||||
|             binding.name.text = view.context.getString(appTheme.titleResId!!) | ||||
|  | ||||
|             // Rounded corners | ||||
|             binding.coverContainer1.clipToOutline = true | ||||
|             binding.coverContainer2.clipToOutline = true | ||||
|             binding.coverContainer.clipToOutline = true | ||||
|  | ||||
|             binding.themeCard.isChecked = preferences.appTheme().get() == appTheme | ||||
|             val isSelected = preferences.appTheme().get() == appTheme | ||||
|             binding.themeCard.isChecked = isSelected | ||||
|             binding.themeCard.strokeColor = if (isSelected) selectedColor else unselectedColor | ||||
|  | ||||
|             listOf(binding.root, binding.themeCard).forEach { | ||||
|                 it.setOnClickListener { | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| <LinearLayout 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="110dp" | ||||
|     android:layout_width="118dp" | ||||
|     android:layout_height="wrap_content" | ||||
|     android:orientation="vertical" | ||||
|     android:padding="4dp"> | ||||
| @@ -15,7 +15,10 @@ | ||||
|         android:clickable="true" | ||||
|         android:focusable="true" | ||||
|         android:importantForAccessibility="no" | ||||
|         app:cardCornerRadius="@dimen/card_radius" | ||||
|         app:cardCornerRadius="@dimen/card_selector_radius" | ||||
|         app:contentPadding="4dp" | ||||
|         app:strokeColor="?attr/colorAccent" | ||||
|         app:strokeWidth="4dp" | ||||
|         app:cardElevation="0dp"> | ||||
|  | ||||
|         <androidx.constraintlayout.widget.ConstraintLayout | ||||
| @@ -26,7 +29,7 @@ | ||||
|             <View | ||||
|                 android:id="@+id/top_nav" | ||||
|                 android:layout_width="0dp" | ||||
|                 android:layout_height="20dp" | ||||
|                 android:layout_height="32dp" | ||||
|                 android:background="?attr/colorToolbar" | ||||
|                 app:layout_constraintEnd_toEndOf="parent" | ||||
|                 app:layout_constraintStart_toStartOf="parent" | ||||
| @@ -34,38 +37,26 @@ | ||||
|  | ||||
|             <ImageView | ||||
|                 android:id="@+id/top_nav_text" | ||||
|                 android:layout_width="50dp" | ||||
|                 android:layout_height="10dp" | ||||
|                 android:layout_marginStart="4dp" | ||||
|                 android:layout_width="65dp" | ||||
|                 android:layout_height="16dp" | ||||
|                 android:layout_marginStart="6dp" | ||||
|                 android:src="@drawable/oval" | ||||
|                 app:layout_constraintBottom_toBottomOf="@+id/top_nav" | ||||
|                 app:layout_constraintStart_toStartOf="@+id/top_nav" | ||||
|                 app:layout_constraintTop_toTopOf="@+id/top_nav" | ||||
|                 app:tint="?attr/colorOnToolbar" /> | ||||
|  | ||||
|             <ImageView | ||||
|                 android:id="@+id/heading" | ||||
|                 android:layout_width="80dp" | ||||
|                 android:layout_height="8dp" | ||||
|                 android:layout_marginStart="4dp" | ||||
|                 android:layout_marginTop="4dp" | ||||
|                 android:src="@drawable/oval" | ||||
|                 app:layout_constraintStart_toStartOf="@+id/top_nav" | ||||
|                 app:layout_constraintTop_toBottomOf="@+id/top_nav" | ||||
|                 app:tint="?attr/colorAccent" /> | ||||
|  | ||||
|             <FrameLayout | ||||
|                 android:id="@+id/cover_container1" | ||||
|                 android:id="@+id/cover_container" | ||||
|                 android:layout_width="0dp" | ||||
|                 android:layout_height="0dp" | ||||
|                 android:layout_marginStart="4dp" | ||||
|                 android:layout_marginTop="4dp" | ||||
|                 android:layout_marginEnd="2dp" | ||||
|                 android:layout_marginStart="6dp" | ||||
|                 android:layout_marginTop="6dp" | ||||
|                 android:background="@drawable/rounded_rectangle" | ||||
|                 app:layout_constraintDimensionRatio="2:3" | ||||
|                 app:layout_constraintEnd_toStartOf="@+id/cover_container2" | ||||
|                 app:layout_constraintEnd_toEndOf="@+id/center_guideline" | ||||
|                 app:layout_constraintStart_toStartOf="parent" | ||||
|                 app:layout_constraintTop_toBottomOf="@+id/heading"> | ||||
|                 app:layout_constraintTop_toBottomOf="@+id/top_nav"> | ||||
|  | ||||
|                 <View | ||||
|                     android:layout_width="match_parent" | ||||
| @@ -77,39 +68,18 @@ | ||||
|  | ||||
|             <View | ||||
|                 android:id="@+id/cover_badge" | ||||
|                 android:layout_width="8dp" | ||||
|                 android:layout_height="12dp" | ||||
|                 android:layout_marginStart="2dp" | ||||
|                 android:layout_marginTop="2dp" | ||||
|                 android:background="?attr/colorAccent" | ||||
|                 app:layout_constraintStart_toStartOf="@+id/cover_container1" | ||||
|                 app:layout_constraintTop_toTopOf="@+id/cover_container1" /> | ||||
|  | ||||
|             <FrameLayout | ||||
|                 android:id="@+id/cover_container2" | ||||
|                 android:layout_width="0dp" | ||||
|                 android:layout_height="0dp" | ||||
|                 android:layout_marginStart="2dp" | ||||
|                 android:layout_width="12dp" | ||||
|                 android:layout_height="16dp" | ||||
|                 android:layout_marginStart="4dp" | ||||
|                 android:layout_marginTop="4dp" | ||||
|                 android:layout_marginEnd="4dp" | ||||
|                 android:background="@drawable/rounded_rectangle" | ||||
|                 app:layout_constraintDimensionRatio="2:3" | ||||
|                 app:layout_constraintEnd_toEndOf="parent" | ||||
|                 app:layout_constraintStart_toEndOf="@+id/cover_container1" | ||||
|                 app:layout_constraintTop_toBottomOf="@+id/heading"> | ||||
|  | ||||
|                 <View | ||||
|                     android:layout_width="match_parent" | ||||
|                     android:layout_height="match_parent" | ||||
|                     android:alpha="0.5" | ||||
|                     android:background="?attr/colorOnSurface" /> | ||||
|  | ||||
|             </FrameLayout> | ||||
|                 android:background="?attr/colorAccent" | ||||
|                 app:layout_constraintStart_toStartOf="@+id/cover_container" | ||||
|                 app:layout_constraintTop_toTopOf="@+id/cover_container" /> | ||||
|  | ||||
|             <View | ||||
|                 android:id="@+id/bottom_nav" | ||||
|                 android:layout_width="0dp" | ||||
|                 android:layout_height="20dp" | ||||
|                 android:layout_height="32dp" | ||||
|                 android:background="?attr/colorToolbar" | ||||
|                 app:layout_constraintBottom_toBottomOf="parent" | ||||
|                 app:layout_constraintEnd_toEndOf="parent" | ||||
| @@ -117,58 +87,34 @@ | ||||
|  | ||||
|             <ImageView | ||||
|                 android:id="@+id/bottom_nav_selected_item" | ||||
|                 android:layout_width="14dp" | ||||
|                 android:layout_height="14dp" | ||||
|                 android:layout_width="16dp" | ||||
|                 android:layout_height="16dp" | ||||
|                 android:src="@drawable/oval" | ||||
|                 android:layout_marginStart="6dp" | ||||
|                 app:layout_constraintBottom_toBottomOf="@+id/bottom_nav" | ||||
|                 app:layout_constraintEnd_toStartOf="@+id/bottom_nav_unselected_item1" | ||||
|                 app:layout_constraintStart_toStartOf="@+id/bottom_nav" | ||||
|                 app:layout_constraintTop_toTopOf="@+id/bottom_nav" | ||||
|                 app:tint="?attr/colorPrimary" /> | ||||
|  | ||||
|             <ImageView | ||||
|                 android:id="@+id/bottom_nav_unselected_item1" | ||||
|                 android:layout_width="14dp" | ||||
|                 android:layout_height="14dp" | ||||
|                 android:src="@drawable/oval" | ||||
|                 app:layout_constraintBottom_toBottomOf="@+id/bottom_nav" | ||||
|                 app:layout_constraintEnd_toStartOf="@+id/bottom_nav_unselected_item2" | ||||
|                 app:layout_constraintStart_toEndOf="@+id/bottom_nav_selected_item" | ||||
|                 app:layout_constraintTop_toTopOf="@+id/bottom_nav" | ||||
|                 app:tint="?attr/colorOnToolbar" /> | ||||
|  | ||||
|             <ImageView | ||||
|                 android:id="@+id/bottom_nav_unselected_item2" | ||||
|                 android:layout_width="14dp" | ||||
|                 android:layout_height="14dp" | ||||
|                 android:src="@drawable/oval" | ||||
|                 app:layout_constraintBottom_toBottomOf="@+id/bottom_nav" | ||||
|                 app:layout_constraintEnd_toStartOf="@+id/bottom_nav_unselected_item3" | ||||
|                 app:layout_constraintStart_toEndOf="@+id/bottom_nav_unselected_item1" | ||||
|                 app:layout_constraintTop_toTopOf="@+id/bottom_nav" | ||||
|                 app:tint="?attr/colorOnToolbar" /> | ||||
|  | ||||
|             <ImageView | ||||
|                 android:id="@+id/bottom_nav_unselected_item3" | ||||
|                 android:layout_width="14dp" | ||||
|                 android:layout_height="14dp" | ||||
|                 android:src="@drawable/oval" | ||||
|                 app:layout_constraintBottom_toBottomOf="@+id/bottom_nav" | ||||
|                 app:layout_constraintEnd_toStartOf="@+id/bottom_nav_unselected_item4" | ||||
|                 app:layout_constraintStart_toEndOf="@+id/bottom_nav_unselected_item2" | ||||
|                 app:layout_constraintTop_toTopOf="@+id/bottom_nav" | ||||
|                 app:tint="?attr/colorOnToolbar" /> | ||||
|  | ||||
|             <ImageView | ||||
|                 android:id="@+id/bottom_nav_unselected_item4" | ||||
|                 android:layout_width="14dp" | ||||
|                 android:layout_height="14dp" | ||||
|                 android:id="@+id/bottom_nav_unselected_item" | ||||
|                 android:layout_width="0dp" | ||||
|                 android:layout_height="16dp" | ||||
|                 android:src="@drawable/oval" | ||||
|                 android:layout_marginHorizontal="6dp" | ||||
|                 android:alpha="0.6" | ||||
|                 app:layout_constraintBottom_toBottomOf="@+id/bottom_nav" | ||||
|                 app:layout_constraintEnd_toEndOf="parent" | ||||
|                 app:layout_constraintStart_toEndOf="@+id/bottom_nav_unselected_item3" | ||||
|                 app:layout_constraintStart_toEndOf="@+id/bottom_nav_selected_item" | ||||
|                 app:layout_constraintTop_toTopOf="@+id/bottom_nav" | ||||
|                 app:tint="?attr/colorOnToolbar" /> | ||||
|                 app:tint="?attr/colorOnSurface" /> | ||||
|  | ||||
|             <androidx.constraintlayout.widget.Guideline | ||||
|                 android:id="@+id/center_guideline" | ||||
|                 android:layout_width="0dp" | ||||
|                 android:layout_height="0dp" | ||||
|                 android:orientation="vertical" | ||||
|                 app:layout_constraintGuide_percent="0.5" /> | ||||
|  | ||||
|         </androidx.constraintlayout.widget.ConstraintLayout> | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user