我希望在ListView
上创建经典的圆形按钮来添加项目。我已经通过使用AbsoluteLayout
就好了。但我遇到的问题是我不能让Button带圆边框。无论我设置什么它只是保持正方形。对于我读过的内容,似乎Xamarin忽略了边界行为。我无法相信没有一种简单的方法可以解决这个问题。
任何人都可以帮我解决这个问题吗?。
编辑:我已经尝试了https://github.com/wilsonvargas/ButtonCirclePlugin,但我仍然按下了一个不稳定的按钮: <local:CircleButton
Text="+"
FontSize="Medium"
FontAttributes="Bold"
AbsoluteLayout.LayoutBounds="0.9,0.9,50,50"
AbsoluteLayout.LayoutFlags="PositionProportional"
HeightRequest="70"
WidthRequest="70"/>
答案 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"/>
此属性允许您创建不完全是圆形的按钮,如图中所示。
答案 1 :(得分:0)
我可以使用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>