mirror of
https://github.com/zhanghai/MaterialFiles
synced 2024-07-08 19:45:51 +00:00
[Feature] Properly set corner sizes for Material 2 and Material 3.
This helps the most with the grid view file items.
This commit is contained in:
parent
b8f897af05
commit
4360134d93
|
@ -21,6 +21,8 @@ import java8.nio.file.Path
|
|||
import me.zhanghai.android.fastscroll.PopupTextProvider
|
||||
import me.zhanghai.android.files.R
|
||||
import me.zhanghai.android.files.coil.AppIconPackageName
|
||||
import me.zhanghai.android.files.compat.foregroundCompat
|
||||
import me.zhanghai.android.files.compat.getDrawableCompat
|
||||
import me.zhanghai.android.files.compat.isSingleLineCompat
|
||||
import me.zhanghai.android.files.databinding.FileItemGridBinding
|
||||
import me.zhanghai.android.files.databinding.FileItemListBinding
|
||||
|
@ -34,6 +36,7 @@ import me.zhanghai.android.files.settings.Settings
|
|||
import me.zhanghai.android.files.ui.AnimatedListAdapter
|
||||
import me.zhanghai.android.files.ui.CheckableForegroundLinearLayout
|
||||
import me.zhanghai.android.files.ui.CheckableItemBackground
|
||||
import me.zhanghai.android.files.util.isMaterial3Theme
|
||||
import me.zhanghai.android.files.util.layoutInflater
|
||||
import me.zhanghai.android.files.util.valueCompat
|
||||
import java.util.Locale
|
||||
|
@ -172,9 +175,26 @@ class FileListAdapter(
|
|||
FileViewType.GRID -> ViewHolder(FileItemGridBinding.inflate(inflater, parent, false))
|
||||
}
|
||||
return holder.apply {
|
||||
itemLayout.background = when (viewType) {
|
||||
FileViewType.LIST -> CheckableItemBackground.create(0f, 0f, itemLayout.context)
|
||||
FileViewType.GRID -> CheckableItemBackground.create(4f, 12f, itemLayout.context)
|
||||
itemLayout.apply {
|
||||
val context = context
|
||||
val isMaterial3Theme = context.isMaterial3Theme
|
||||
if (viewType == FileViewType.GRID && isMaterial3Theme) {
|
||||
foregroundCompat =
|
||||
context.getDrawableCompat(R.drawable.file_item_grid_foreground_material3)
|
||||
}
|
||||
background = if (viewType == FileViewType.GRID && isMaterial3Theme) {
|
||||
CheckableItemBackground.create(4f, 12f, context)
|
||||
} else {
|
||||
CheckableItemBackground.create(0f, 0f, context)
|
||||
}
|
||||
}
|
||||
thumbnailOutlineView?.apply {
|
||||
val context = context
|
||||
if (context.isMaterial3Theme) {
|
||||
background = context.getDrawableCompat(
|
||||
R.drawable.file_item_grid_thumbnail_outline_material3
|
||||
)
|
||||
}
|
||||
}
|
||||
popupMenu = PopupMenu(menuButton.context, menuButton)
|
||||
.apply { inflate(R.menu.file_item) }
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-->
|
||||
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="8dp" />
|
||||
<corners android:radius="4dp" />
|
||||
<stroke
|
||||
android:color="@color/material_on_surface_stroke"
|
||||
android:width="1dp" />
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023 Hai Zhang <dreaming.in.code.zh@gmail.com>
|
||||
~ All Rights Reserved.
|
||||
-->
|
||||
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="8dp" />
|
||||
<stroke
|
||||
android:color="@color/material_on_surface_stroke"
|
||||
android:width="1dp" />
|
||||
</shape>
|
|
@ -11,7 +11,7 @@
|
|||
android:id="@+id/itemLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:foreground="@drawable/file_item_grid_foreground"
|
||||
android:foreground="?selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="vertical">
|
||||
|
||||
|
@ -50,7 +50,7 @@
|
|||
android:layout_height="match_parent"
|
||||
android:duplicateParentState="true"
|
||||
android:scaleType="centerCrop"
|
||||
app:shapeAppearance="?shapeAppearanceMediumComponent" />
|
||||
app:shapeAppearance="?shapeAppearanceSmallComponent" />
|
||||
|
||||
<View
|
||||
android:id="@+id/thumbnailOutlineView"
|
||||
|
|
|
@ -20,6 +20,18 @@
|
|||
<item name="android:widgetLayout">@layout/switch_preference_compat_widget_material3</item>
|
||||
</style>
|
||||
|
||||
<style name="ShapeAppearance.MaterialFiles.Material3.SmallComponent" parent="ShapeAppearance.Material3.SmallComponent">
|
||||
<item name="cornerSize">8dp</item>
|
||||
</style>
|
||||
|
||||
<style name="ShapeAppearance.MaterialFiles.Material3.MediumComponent" parent="ShapeAppearance.Material3.MediumComponent">
|
||||
<item name="cornerSize">12dp</item>
|
||||
</style>
|
||||
|
||||
<style name="ShapeAppearance.MaterialFiles.Material3.LargeComponent" parent="ShapeAppearance.Material3.LargeComponent">
|
||||
<item name="cornerSize">16dp</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.MaterialFiles.Material3.ListItem" parent="TextAppearance.Material3.TitleMedium">
|
||||
<item name="fontFamily">@string/m3_ref_typeface_plain_regular</item>
|
||||
<item name="android:fontFamily">@string/m3_ref_typeface_plain_regular</item>
|
||||
|
|
|
@ -31,8 +31,8 @@
|
|||
<item name="materialCardViewStyle">@style/Widget.MaterialFiles.CardView</item>
|
||||
<item name="navigationViewStyle">@style/Widget.MaterialFiles.NavigationView</item>
|
||||
<item name="switchPreferenceCompatStyle">@style/Preference.MaterialFiles.SwitchPreferenceCompat</item>
|
||||
<item name="minTouchTargetSize">0dp</item>
|
||||
<item name="textInputStyle">?textInputOutlinedStyle</item>
|
||||
<item name="minTouchTargetSize">0dp</item>
|
||||
|
||||
<item name="colorAppBarSurface">?colorSurface</item>
|
||||
</style>
|
||||
|
@ -81,8 +81,8 @@
|
|||
<item name="materialCardViewStyle">@style/Widget.MaterialFiles.CardView</item>
|
||||
<item name="navigationViewStyle">@style/Widget.MaterialFiles.NavigationView</item>
|
||||
<item name="switchPreferenceCompatStyle">@style/Preference.MaterialFiles.SwitchPreferenceCompat</item>
|
||||
<item name="minTouchTargetSize">0dp</item>
|
||||
<item name="textInputStyle">?textInputOutlinedStyle</item>
|
||||
<item name="minTouchTargetSize">0dp</item>
|
||||
|
||||
<item name="colorAppBarSurface">@color/dark_50_percent</item>
|
||||
</style>
|
||||
|
|
|
@ -21,19 +21,22 @@
|
|||
<item name="windowNoTitle">true</item>
|
||||
|
||||
<item name="colorAccent">?colorPrimary</item>
|
||||
<item name="floatingActionButtonStyle">?floatingActionButtonSecondaryStyle</item>
|
||||
<item name="materialCardViewStyle">@style/Widget.MaterialFiles.CardView</item>
|
||||
<item name="minTouchTargetSize">0dp</item>
|
||||
<item name="navigationViewStyle">@style/Widget.MaterialFiles.Material3.NavigationView</item>
|
||||
<item name="simpleMenuPreferenceStyle">@style/Preference.MaterialFiles.Material3.SimpleMenuPreference</item>
|
||||
<item name="switchPreferenceCompatStyle">@style/Preference.MaterialFiles.Material3.SwitchPreferenceCompat</item>
|
||||
<item name="tabStyle">@style/Widget.MaterialFiles.Material3.TabLayout</item>
|
||||
<item name="shapeAppearanceSmallComponent">@style/ShapeAppearance.MaterialFiles.Material3.SmallComponent</item>
|
||||
<item name="shapeAppearanceMediumComponent">@style/ShapeAppearance.MaterialFiles.Material3.MediumComponent</item>
|
||||
<item name="shapeAppearanceLargeComponent">@style/ShapeAppearance.MaterialFiles.Material3.LargeComponent</item>
|
||||
<item name="textAppearanceListItem">@style/TextAppearance.MaterialFiles.Material3.ListItem</item>
|
||||
<item name="android:textAppearanceListItem">?textAppearanceListItem</item>
|
||||
<item name="textAppearanceListItemSmall">@style/TextAppearance.MaterialFiles.Material3.ListItemSmall</item>
|
||||
<item name="android:textAppearanceListItemSmall">?textAppearanceListItemSmall</item>
|
||||
<item name="floatingActionButtonStyle">?floatingActionButtonSecondaryStyle</item>
|
||||
<item name="materialCardViewStyle">@style/Widget.MaterialFiles.CardView</item>
|
||||
<item name="navigationViewStyle">@style/Widget.MaterialFiles.Material3.NavigationView</item>
|
||||
<item name="simpleMenuPreferenceStyle">@style/Preference.MaterialFiles.Material3.SimpleMenuPreference</item>
|
||||
<item name="switchPreferenceCompatStyle">@style/Preference.MaterialFiles.Material3.SwitchPreferenceCompat</item>
|
||||
<item name="tabStyle">@style/Widget.MaterialFiles.Material3.TabLayout</item>
|
||||
<item name="textInputStyle">?textInputOutlinedStyle</item>
|
||||
<item name="toolbarStyle">@style/Widget.MaterialFiles.Material3.Toolbar</item>
|
||||
<item name="minTouchTargetSize">0dp</item>
|
||||
|
||||
<item name="colorAppBarSurface">?colorSurface</item>
|
||||
</style>
|
||||
|
@ -72,19 +75,22 @@
|
|||
<item name="windowNoTitle">true</item>
|
||||
|
||||
<item name="colorAccent">?colorPrimary</item>
|
||||
<item name="floatingActionButtonStyle">?floatingActionButtonSecondaryStyle</item>
|
||||
<item name="materialCardViewStyle">@style/Widget.MaterialFiles.CardView</item>
|
||||
<item name="minTouchTargetSize">0dp</item>
|
||||
<item name="navigationViewStyle">@style/Widget.MaterialFiles.Material3.NavigationView</item>
|
||||
<item name="simpleMenuPreferenceStyle">@style/Preference.MaterialFiles.Material3.SimpleMenuPreference</item>
|
||||
<item name="switchPreferenceCompatStyle">@style/Preference.MaterialFiles.Material3.SwitchPreferenceCompat</item>
|
||||
<item name="tabStyle">@style/Widget.MaterialFiles.Material3.TabLayout</item>
|
||||
<item name="shapeAppearanceSmallComponent">@style/ShapeAppearance.MaterialFiles.Material3.SmallComponent</item>
|
||||
<item name="shapeAppearanceMediumComponent">@style/ShapeAppearance.MaterialFiles.Material3.MediumComponent</item>
|
||||
<item name="shapeAppearanceLargeComponent">@style/ShapeAppearance.MaterialFiles.Material3.LargeComponent</item>
|
||||
<item name="textAppearanceListItem">@style/TextAppearance.MaterialFiles.Material3.ListItem</item>
|
||||
<item name="android:textAppearanceListItem">?textAppearanceListItem</item>
|
||||
<item name="textAppearanceListItemSmall">@style/TextAppearance.MaterialFiles.Material3.ListItemSmall</item>
|
||||
<item name="android:textAppearanceListItemSmall">?textAppearanceListItemSmall</item>
|
||||
<item name="floatingActionButtonStyle">?floatingActionButtonSecondaryStyle</item>
|
||||
<item name="materialCardViewStyle">@style/Widget.MaterialFiles.CardView</item>
|
||||
<item name="navigationViewStyle">@style/Widget.MaterialFiles.Material3.NavigationView</item>
|
||||
<item name="simpleMenuPreferenceStyle">@style/Preference.MaterialFiles.Material3.SimpleMenuPreference</item>
|
||||
<item name="switchPreferenceCompatStyle">@style/Preference.MaterialFiles.Material3.SwitchPreferenceCompat</item>
|
||||
<item name="tabStyle">@style/Widget.MaterialFiles.Material3.TabLayout</item>
|
||||
<item name="textInputStyle">?textInputOutlinedStyle</item>
|
||||
<item name="toolbarStyle">@style/Widget.MaterialFiles.Material3.Toolbar</item>
|
||||
<item name="minTouchTargetSize">0dp</item>
|
||||
|
||||
<item name="colorAppBarSurface">@color/dark_50_percent</item>
|
||||
</style>
|
||||
|
|
Loading…
Reference in New Issue
Block a user