KivyMD is a collection of Material Design compliant widgets for use with Kivy, a framework for cross-platform, touch-enabled graphical applications. https://youtube.com/c/KivyMD https://twitter.com/KivyMD https://habr.com/ru/users/kivymd https://stackoverflow.com/tags/kivymd
Fade Effect of Widget that inherits from CommonElevationBehavior class
Widgets that inherit from CommonElevationBehavior class (eg. MDButton and MDCard) produce bad look when their opacity is set low. It happens because their shadow color merges with main widget and gives a darker shade look. As to why it doesn't look good when using fade effect to show the widget. This has been fixed in this version.
Method to solve the problem
I wanted shadow start fading when opacity of the widget is more than by 70-80% and then by the time opacity of the widget reaches 100%, it's shadow opacity reaches 100% as well. That's why I used logistic function with shadow color opacity that increases very low at first and after a certain point it starts increasing faster.
Fade Effect of Widget that inherits from
CommonElevationBehavior
classWidgets that inherit from
CommonElevationBehavior
class (eg.MDButton
andMDCard
) produce bad look when their opacity is set low. It happens because their shadow color merges with main widget and gives a darker shade look. As to why it doesn't look good when using fade effect to show the widget. This has been fixed in this version.Method to solve the problem
I wanted shadow start fading when opacity of the widget is more than by 70-80% and then by the time opacity of the widget reaches 100%, it's shadow opacity reaches 100% as well. That's why I used logistic function with shadow color opacity that increases very low at first and after a certain point it starts increasing faster.
Reproducing the problem
Showing the problem
Changes to code
in
kivymd/uix/behaviors/elevation.py
file on line391
solution codeinstead of
After applying the solution