我使用.NET Standard 2.0创建了一个新的xamarin表单项目,并在示例中将标签更改为Button并添加了背景色。单击该按钮时,涟漪图动画会显示得很小并且集中在左上角,而不是整个按钮的宽度和高度
<Button Text="Welcome to Xamarin.Forms!" HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" BackgroundColor="Lime" />
我们需要做些什么来使波纹动画正确吗?
请参阅所附图片。
答案 0 :(得分:2)
如果要删除多余的色调动画部分。然后,您必须在Android platfrom中为Button编写自定义渲染类。请检查示例代码
assembly: ExportRenderer(typeof(TintableButton), typeof(TintableButtonRenderer))]
namespace XamTest.Droid.Renderers
{
public class TintableButtonRenderer : ButtonRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Button> e)
{
base.OnElementChanged(e);
var control = e.NewElement as TintableButton;
if (control != null)
{
if (control.TintColor != Xamarin.Forms.Color.Default)
{
var androidColor = control.TintColor.ToAndroid();
Control.Background.SetColorFilter(androidColor, PorterDuff.Mode.Src);
}
}
}
}
}
在用户界面中调用此自定义控件。
<Grid>
<controls:TintableButton Text="Test" HorizontalOptions="FillAndExpand" />
</Grid>