Xamarin形成图像按钮问题

时间:2017-02-14 04:55:37

标签: android xamarin xamarin.android

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

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

我正面临一些UI问题。 在Windows 10中,它看起来像 -

enter image description here

在android中,它看起来像 -

enter image description here

有没有办法从android中删除这个轮廓边框。

4 个答案:

答案 0 :(得分:1)

我通过将其高程设置为0px with the help of this link来删除Android中按钮的边框/阴影

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

您可以安排它的来源:

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

您可以轻松添加点击方法:

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");
 }

答案 3 :(得分:0)

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