【发布时间】:2021-01-11 08:30:12
【问题描述】:
我想更改禁用按钮的透明度。
禁用按钮视图
启用按钮视图
[assembly: ExportRenderer(typeof(LabelButton), typeof(SkyRacing.Droid.LabelButtonRenderer))]
namespace SkyRacing.Droid
{
public class LabelButtonRenderer : MaterialButtonRenderer
{
public LabelButtonRenderer(Context ctx) : base(ctx)
{
}
protected override void OnDraw(Android.Graphics.Canvas canvas)
{
base.OnDraw(canvas);
if (!Element.IsEnabled)
Element.Opacity = 0.9;
}
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
if (e.PropertyName == nameof(Xamarin.Forms.Button.IsEnabled))
{
if (!Element.IsEnabled)
Element.Opacity = 0.9;
}
}
}
}
我尝试创建自定义渲染器并将禁用按钮的不透明度更改为 0.9,但它仍然太透明。如何降低按钮的透明度? (仅供参考,在调试模式下,我检查了 Element 属性。在我设置为 0.9 之前它已经是 1,想知道它是如何透明的)。
【问题讨论】:
标签: xamarin xamarin.forms material-design custom-renderer materialbutton