我不知道如何将图标置于按钮内并将其置于文本上方,我也没有找到有关它的信息,我被要求做一些&#34 ;塔布"选项菜单,但在屏幕下方,我发现它有点"硬"因为"设计含义"等,所以我决定使用按钮会更容易,但问题现在是如何使图像居中并使文本正确,如果有人可以帮助我,那将是大。到目前为止,这是我的代码:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
BackgroundColor="Silver"
x:Class="XamForm.View.MainPage">
<Label Text="{Binding MainText}" VerticalOptions="Center" HorizontalOptions="Center" />
<StackLayout Padding="30">
<Label x:Name="lblCuantos" Text="No #" TextColor="Gray" FontSize="20"/>
<Label x:Name="lblNombre" Text="" FontSize="20"/>
<Button x:Name="btn1" Text="Oprimir" Clicked="Accion"/>
<Button x:Name="btn2" BackgroundColor="White" Image="iconRes.png" HorizontalOptions="CenterAndExpand" Text="Gridd" TextColor="Gray" Clicked="Accion2"/>
<Button x:Name="btn3" BackgroundColor="White" Image="iconRes.png" HorizontalOptions="CenterAndExpand" TextColor="Gray" Clicked="Accion2"/>
</StackLayout>
</ContentPage>
这是按钮本身的实际结果:
http://oi59.tinypic.com/11so9le.jpg
这就是菜单的最终结果看起来很像
http://oi62.tinypic.com/10pzw2f.jpg
谢谢!
答案 0 :(得分:25)
您可以在按钮中使用ContentLayout="Top,0"
。例如,在您的情况下使用下面的代码
<Button x:Name="btn2" ContentLayout="Top,0" BackgroundColor="White" Image="iconRes.png" HorizontalOptions="CenterAndExpand" Text="Gridd" TextColor="Gray" Clicked="Accion2" />
<Button x:Name="btn3" ContentLayout="Top,0" BackgroundColor="White" Image="iconRes.png" HorizontalOptions="CenterAndExpand" TextColor="Gray" Clicked="Accion2"/>
答案 1 :(得分:2)
您可以使用方向设置为垂直的StackLayout,并在其中添加Button和Label。
答案 2 :(得分:0)
Button.Image属性的类型为FileImageSource,因此任何&#39; local&#39;可以在按钮中使用。这意味着以下代码将起作用:
someButton.Image = "imageName.png";
或者你可以写
someButton.Image = ImageSource.FromFile("imageName.png");
如果 imageName.png 位于每个应用程序项目中(iOS中的Resources文件夹,Android中的Resources / Drawable文件夹和WinPhone中的应用程序根目录;每个项目都有相应的构建操作集)。
Xaml等价物是:
<Button Text="Has Image" Image="someImage.png" />
有关每个平台的构建操作的详细信息,请参阅Working with Images doc。