2017-02-14 55 views
1

使用Xamarin PCL项目的平台应用程序。我创建了一个带有图像且没有文字的按钮。Xamarin表单图片按钮问题

<Button Image="{DynamicResource ProfileImage}" Grid.Row="0" Grid.Column="2" BackgroundColor="Transparent" x:Name="dashboard" StyleId="dashboard" HorizontalOptions="Center" Clicked="TabClicked"></Button> 

我正面临一些用户界面问题。 在windows 10,它看起来像 -

enter image description here

在Android中,它看起来喜欢 -

enter image description here

有没有办法从Android删除此外框。

+0

你解决问题了吗? – Daniel

+0

你是否设法解决你的问题? – Daniel

+0

@丹尼尔是的,但通过将按钮标高设置为零。 – Sonali

回答

1

我删除了针对Android按钮边框/阴影设置其高程为0px with the help of this link

class MyButtonRenderer : ButtonRenderer 
    { 
     protected override void OnElementChanged(ElementChangedEventArgs<Button> e) 
     { 
      base.OnElementChanged(e); 
      try 
      { 
       if (Control != null) 
       { 
        Control.Elevation = 0; 
       } 
      } 
      catch(Exception ex){} 
     } 
    } 
0

您是否尝试过在按钮XAML上设置BorderColor="Transparent"

+0

它不起作用。 Sonali的回答很好。 –

0

要完全删除图像的背景,您可以使用图像视图类型而不是按钮。

你可以安排它的来源:

<StackLayout Padding="15,5,0,5"> 
     <Image x:Name="MyImage" Source="myImage.png"/> 
</StackLayout> 

而且你还可以轻松添加click方法是:

var gestureRecognizerForImage = new TapGestureRecognizer(); 
gestureRecognizerForImage.Tapped += MyImageClicked; 
MyImage.GestureRecognizers.Add(gestureRecognizerForImage); 

public async void GetMediaClicked(object sender, EventArgs e) 
{ 
    await DisplayAlert("Clicked", "My Image is Clicked", "OK"); 
} 
0

您可以设置BorderWidth = 0。它应该删除边框。