feature: Android renderers

This commit is contained in:
2020-05-14 11:13:23 +08:00
parent a4caf325b0
commit f6dbec2fda
14 changed files with 557 additions and 43 deletions

View File

@ -160,15 +160,19 @@ namespace Pixiview.Droid.Renderers
void ConfigureRadioButton(int i, RadioButton rb)
{
var textColor = Element.SelectedTextColor;
if (i == Element.SelectedSegmentIndex)
{
rb.SetTextColor(Element.SelectedTextColor.ToAndroid());
rb.SetTextColor(textColor.ToAndroid());
rb.Paint.FakeBoldText = true;
_rb = rb;
}
else
{
var textColor = Element.IsEnabled ? Element.TintColor.ToAndroid() : Element.DisabledColor.ToAndroid();
rb.SetTextColor(textColor);
var tColor = Element.IsEnabled ?
textColor.IsDefault ? Element.TintColor.ToAndroid() : textColor.MultiplyAlpha(.6).ToAndroid() :
Element.DisabledColor.ToAndroid();
rb.SetTextColor(tColor);
}
GradientDrawable selectedShape;
@ -202,9 +206,17 @@ namespace Pixiview.Droid.Renderers
var rb = (RadioButton)rg.GetChildAt(radioId);
var color = Element.IsEnabled ? Element.TintColor.ToAndroid() : Element.DisabledColor.ToAndroid();
_rb?.SetTextColor(color);
var textColor = Element.SelectedTextColor;
var color = Element.IsEnabled ?
textColor.IsDefault ? Element.TintColor.ToAndroid() : textColor.MultiplyAlpha(.6).ToAndroid() :
Element.DisabledColor.ToAndroid();
if (_rb != null)
{
_rb.SetTextColor(color);
_rb.Paint.FakeBoldText = false;
}
rb.SetTextColor(Element.SelectedTextColor.ToAndroid());
rb.Paint.FakeBoldText = true;
_rb = rb;
Element.SelectedSegmentIndex = radioId;