2017-09-26 41 views
0

我正在寻找在ListView上创建经典圆形按钮以添加项目。我已经完成了,通过使用AbsoluteLayout就好了。但是我遇到的问题是我无法使按钮以圆形边框去。无论我设定了什么,它都保持平方。对于我所读到的,似乎Xamarin覆盖了边界行为。我不相信有没有简单的方法来解决这个问题。在ListView上添加项目的圆形按钮

任何人都可以帮我解决这个问题吗?

编辑:从来就试图https://github.com/wilsonvargas/ButtonCirclePlugin但仍I'm与不稳定的行为越来越按钮:

enter image description here

<local:CircleButton 
     Text="+" 
     FontSize="Medium" 
     FontAttributes="Bold" 
     AbsoluteLayout.LayoutBounds="0.9,0.9,50,50" 
     AbsoluteLayout.LayoutFlags="PositionProportional" 
     HeightRequest="70" 
     WidthRequest="70"/> 
+0

https://github.com/wilsonvargas/ButtonCirclePlugin – Jason

+0

@Jason看到我的编辑 – NicoRiff

+0

我已经创建了这个插件,它工作正常,请检查我的答案。 –

回答

2

这仅在6.0的Android一个问题,但它是通过将BorderRadius属性和分配给它的相同的值按钮的高度来解决。是这样的:

<local:CircleButton Icon="ic_directions_bike" 
         FontSize="30" TextColor="Black" 
         HeightRequest="70" WidthRequest="70" 
         BorderRadius="70" BackgroundColor="#DCDCDC"/> 
    <!--This button is not exactly circular--> 
    <local:CircleButton FontSize="30" TextColor="Black" 
         HeightRequest="70" WidthRequest="200" 
         BorderRadius="20" BackgroundColor="#DCDCDC"/> 

enter image description here

此属性允许您创建一个不完全的圆形,在图像中看到的按钮。

+0

我发现如果你禁用硬件加速,这个问题就不存在了......无论如何,我尝试了你说的,它的工作。其他问题,你参考角度图标像Icon =“ic_directions_bike”我可以使用其他图标? – NicoRiff

+0

你可以在这里找到图标列表(https://github.com/wilsonvargas/ButtonCirclePlugin/blob/master/src/ButtonCircle/ButtonCircle.FormsPlugin.Abstractions/Icons.cs)。如果这有助于您将其标记为答案。 –

+0

威尔逊你摇滚!感谢您的回答。如果你来阿根廷让我知道,我们有啤酒。 Saludoscompañero。 – NicoRiff

0

enter image description here

我可以使用Xamarin获得背景按钮。形式。如果你正在写Xamarin.Forms,你可以试试。

<StackLayout Orientation="Horizontal"> 
      <Image Margin="10,10" HeightRequest="50" WidthRequest="50" Source="backButton.png"> 
       <Image.GestureRecognizers> 
        <TapGestureRecognizer Tapped="btnSetting_Clicked"/> 
       </Image.GestureRecognizers> 
      </Image> 
      <Image HorizontalOptions="EndAndExpand" Margin="0,0,10,10" HeightRequest="50" WidthRequest="50" Source="settingsButton.png"> 
       <Image.GestureRecognizers> 
        <TapGestureRecognizer Tapped="btnSetting_Clicked"/> 
       </Image.GestureRecognizers> 
      </Image> 
     </StackLayout>