2017-02-14 15 views
1

приложение платформы с использованием проекта Xamarin PCL. Я создал кнопку с изображением и без текста.Xamarin forms Image button issue

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

Я столкнулся с проблемой UI. В окнах 10, она выглядит -

enter image description here

В андроиде, это выглядит как-

enter image description here

Есть ли способ, чтобы удалить эту схему границы от андроида.

+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

Вы пробовали установить BorderColor="Transparent" на свою кнопку XAML?

+0

Это не работает. Ответ Сонали хороший. –

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

Вы можете установить BorderWidth = 0. Он должен удалить границу.