我正在构建一个Xamarin.Forms应用程序,我需要将导航栏的背景设置为图像。这可能不创造超级自定义的东西吗?如果没有,最好的方法是什么?还有其他人已经做过吗?
这就是我需要做的事情。请注意导航栏区域,其中包含后退按钮,消息图标和“COMMENTARY”文本。
有什么想法吗?
答案 0 :(得分:4)
使用xamarin无法更改导航背景图像。你必须以原生为每个平台做到这一点。
在Ressources / layout / Toolbar.axml中删除背景颜色并添加:
android:background="@drawable/yourImage"
2。的iOS
在AppDelegate.cs中添加:
UINavigationBar.Appearance.BarTintColor=UIColor.FromPatternImage(UIImage.FromFile("YOURIMAGE.png"));
// To change Text Colors to white here
UINavigationBar.Appearance.TintColor=UIColor.White;
// To change Title Text colors to white here
UINavigationBar.Appearance.SetTitleTextAttributes(new UITextAttributes() { TextColor = UIColor.White});
不要忘记将图片放在不同的资源文件夹中。
希望这对你有所帮助!
答案 1 :(得分:0)
您可以在导航栏中添加背景图像和按钮。元素可用于自定义元素。您可以使用AbsoluteLayout实现所需的功能(按钮,文本...等)
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="MobileApp.Views.PhotoUploadPage">
<NavigationPage.TitleView>
<StackLayout>
<Image Source="background_image.jpg"></Image>
</StackLayout>
</NavigationPage.TitleView>
<ContentPage.Content>
<StackLayout>
<Label Text="Welcome to Multiple Photo Upload!"
VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand" />
</StackLayout>
</ContentPage.Content>
</ContentPage>
https://forums.xamarin.com/discussion/139894/putting-an-image-on-navigation-bar