Skip to content

Commit 1ec0406

Browse files
committed
Add option to apply a stateListAnimator to preference views
1 parent 00c6912 commit 1ec0406

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

library/src/main/java/de/Maxr1998/modernpreferences/PreferencesAdapter.kt

+9
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package de.Maxr1998.modernpreferences
1818

19+
import android.animation.StateListAnimator
1920
import android.os.Parcelable
2021
import android.view.LayoutInflater
2122
import android.view.View
@@ -63,6 +64,13 @@ class PreferencesAdapter @VisibleForTesting constructor(
6364
field?.onScreenChanged(currentScreen, isInSubScreen())
6465
}
6566

67+
/**
68+
* A [StateListAnimator] that will be applied to all Preference item views
69+
*
70+
* *Attention*: This animator will be cloned using [Object.clone] before getting applied.
71+
*/
72+
var stateListAnimator: StateListAnimator? = null
73+
6674
var secondScreenAdapter: PreferencesAdapter? = null
6775

6876
init {
@@ -143,6 +151,7 @@ class PreferencesAdapter @VisibleForTesting constructor(
143151
else -> R.layout.map_preference
144152
}
145153
val view = layoutInflater.inflate(layout, parent, false)
154+
view.stateListAnimator = stateListAnimator?.clone()
146155
if (viewType > 0)
147156
layoutInflater.inflate(viewType, view.findViewById(R.id.map_widget_frame), true)
148157
return ViewHolder(view)

0 commit comments

Comments
 (0)