圆形按钮在ListView上添加项目

时间:2017-09-26 20:28:49

标签: c# xamarin xamarin.forms

我希望在ListView上创建经典的圆形按钮来添加项目。我已经通过使用AbsoluteLayout就好了。但我遇到的问题是我不能让Button带圆边框。无论我设置什么它只是保持正方形。对于我读过的内容,似乎Xamarin忽略了边界行为。我无法相信没有一种简单的方法可以解决这个问题。

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

编辑:我已经尝试了https://github.com/wilsonvargas/ButtonCirclePlugin,但我仍然按下了一个不稳定的按钮:

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"/>

2 个答案:

答案 0 :(得分:2)

这仅在Android 6.0中存在问题,但是通过添加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

此属性允许您创建不完全是圆形的按钮,如图中所示。

答案 1 :(得分:0)

enter image description here

我可以使用Xamarin.Forms获取后台按钮。如果你正在编写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>