46 lines
2.1 KiB
C#
46 lines
2.1 KiB
C#
using Android.Graphics;
|
|
using Android.OS;
|
|
using Bit.App.Controls;
|
|
using Microsoft.Maui.Controls.Compatibility.Platform.Android;
|
|
|
|
namespace Bit.App.Handlers
|
|
{
|
|
public class StepperHandlerMappings
|
|
{
|
|
public static void Setup()
|
|
{
|
|
Microsoft.Maui.Handlers.StepperHandler.Mapper.AppendToMapping(nameof(ExtendedStepper.StepperBackgroundColor), (handler, stepper) =>
|
|
{
|
|
if (stepper is ExtendedStepper extStepper)
|
|
{
|
|
if (Build.VERSION.SdkInt >= BuildVersionCodes.Q)
|
|
{
|
|
handler.PlatformView.GetChildAt(0)?.Background?.SetColorFilter(
|
|
new BlendModeColorFilter(extStepper.StepperBackgroundColor.ToAndroid(), Android.Graphics.BlendMode.Multiply));
|
|
handler.PlatformView.GetChildAt(1)?.Background?.SetColorFilter(
|
|
new BlendModeColorFilter(extStepper.StepperBackgroundColor.ToAndroid(), Android.Graphics.BlendMode.Multiply));
|
|
}
|
|
else
|
|
{
|
|
handler.PlatformView.GetChildAt(0)?.Background?.SetColorFilter(
|
|
extStepper.StepperBackgroundColor.ToAndroid(), PorterDuff.Mode.Multiply);
|
|
handler.PlatformView.GetChildAt(1)?.Background?.SetColorFilter(
|
|
extStepper.StepperBackgroundColor.ToAndroid(), PorterDuff.Mode.Multiply);
|
|
}
|
|
}
|
|
});
|
|
|
|
Microsoft.Maui.Handlers.StepperHandler.Mapper.AppendToMapping(nameof(ExtendedStepper.StepperForegroundColor), (handler, stepper) =>
|
|
{
|
|
if (stepper is ExtendedStepper extStepper)
|
|
{
|
|
var btn0 = handler.PlatformView.GetChildAt(0) as Android.Widget.Button;
|
|
btn0?.SetTextColor(extStepper.StepperForegroundColor.ToAndroid());
|
|
var btn1 = handler.PlatformView.GetChildAt(1) as Android.Widget.Button;
|
|
btn1?.SetTextColor(extStepper.StepperForegroundColor.ToAndroid());
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|