有可能吗? 我想删除Xamarin Forms上按钮的阴影。
由于
答案 0 :(得分:18)
对于按钮Android上的删除阴影,您只需在项目Droid中创建渲染器,并使用透明或其他颜色设置BackroundColor。
对于使用PCL的项目:
[assembly: ExportRenderer(typeof(Button),typeof(FlatButtonRenderer))]
namespace Project.Droid
{
public class FlatButtonRenderer : ButtonRenderer
{
protected override void OnDraw(Android.Graphics.Canvas canvas)
{
base.OnDraw(canvas);
}
}
}
在XAML中:
<Button BackgroundColor="Transparent" Text="ClickMe"/>
答案 1 :(得分:6)
详细解释。
using Android.App;
using Android.Content.PM;
using Android.OS;
using Xamarin.Forms.Platform.Android;
using ProjectName.Droid;
using Xamarin.Forms;
[assembly: ExportRenderer(typeof(Xamarin.Forms.Button), typeof(FlatButtonRenderer))]
namespace ProjectName.Droid
{
public class FlatButtonRenderer : ButtonRenderer
{
protected override void OnDraw(Android.Graphics.Canvas canvas)
{
base.OnDraw(canvas);
}
}
}
答案 2 :(得分:1)
@Tonatio在渲染器中而不是使用
[assembly: ExportRenderer(typeof(Xamarin.Forms.Button), typeof(FlatButtonRenderer))]
使用此
[assembly: ExportRenderer(typeof(YourCustomButton), typeof(FlatButtonRenderer))]
您必须创建一个继承自 Xamarin.Forms.Button 的CustomButton控件,然后在xaml中使用该自定义按钮而不是常规按钮。应该做的事情
//Add references to your custom control
xmlns:controls="clr-namespace:YourNameSpace.Controls"
//Use control
<Grid>
<controls:YourCustomButton x:Name="_customButton"/>
</Grid>
如果您需要更多帮助,请随意前来。
答案 3 :(得分:0)
对此有一个简单的破解方法。只需将按钮包装在Frame
元素中,并将HasShadow
设置为False
<Frame HasShadow="False" Padding="0" Margin="0">
<Button Padding="15"
Text="Log in"
TextColor="Blue"
FontSize="17" />
</Frame>
这将删除按钮的阴影?