Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 在按钮Xamarin XAML中居中显示图标和文本_Image_Xaml_Button_Xamarin - Fatal编程技术网

Image 在按钮Xamarin XAML中居中显示图标和文本

Image 在按钮Xamarin XAML中居中显示图标和文本,image,xaml,button,xamarin,Image,Xaml,Button,Xamarin,我不知道如何将图标居中放置在按钮内,并将其置于文本上方,我也没有找到关于它的信息,我被要求做一种“tabb”选项菜单,但在屏幕下方,我发现这有点“困难”,因为“设计含义”等,所以我决定使用按钮会更容易,但现在的问题是如何将图像居中并使文本正确,如果有人能帮助我,那就太好了。这是我目前的代码: <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/fo

我不知道如何将图标居中放置在按钮内,并将其置于文本上方,我也没有找到关于它的信息,我被要求做一种“tabb”选项菜单,但在屏幕下方,我发现这有点“困难”,因为“设计含义”等,所以我决定使用按钮会更容易,但现在的问题是如何将图像居中并使文本正确,如果有人能帮助我,那就太好了。这是我目前的代码:

<?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>

这是按钮本身的实际结果:

这就是菜单的最终结果应该是什么样的


谢谢大家!

您可以使用方向设置为垂直的StackLayout,并在其中添加按钮和标签。

您可以在按钮中使用
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"/>

按钮。图像属性的类型为FileImageSource,因此任何“本地”图像都可以在按钮中使用。这意味着以下代码将起作用:

someButton.Image = "imageName.png";
或者你可以写

someButton.Image = ImageSource.FromFile("imageName.png");
如果imageName.png位于每个应用程序项目中(iOS中的Resources文件夹、Android中的Resources/Drawable文件夹和WinPhone中的application root;每个项目都有相应的构建操作集)

Xaml等价物为:

<Button Text="Has Image" Image="someImage.png" />


有关每个平台的构建操作的完整详细信息,请参阅。我正在尝试此操作,但我在android中看不到图像,仅在ios中可以看到文本。我尝试在按钮上使用较大的文本,图像从中间向右滑动