在下面的屏幕截图中,我的应用程序显示了一个标题栏,该标题栏的左右两侧都有一个小的白色边框。设置自定义TitleView
时如何摆脱这个边界?在下面的情况下,红色框应该从屏幕的边缘延伸到另一端,但是您可以在两侧看到白色的小边框。
在这里设置导航页。
public partial class App : Application
{
public App()
{
InitializeComponent();
ContainerRegistration.Register();
var authPage = FreshPageModelResolver.ResolvePageModel<LoginPageModel>();
var authPageNavigation = new FreshNavigationContainer(authPage, NavigationContainerNames.AuthenticationContainer);
MainPage = authPageNavigation;
}
}
这里是XAML,它引用导航页面以将TitleView
的内容设置为BoxView
。
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:control="clr-namespace:WP.MobileMidstream.Device.Pages"
x:Class="WP.MobileMidstream.Device.Pages.LoginPage"
Visual="Material">
<NavigationPage.TitleView>
<BoxView BackgroundColor="Red" />
</NavigationPage.TitleView>
<ContentPage.Content>
<StackLayout Orientation="Vertical">
<Entry Placeholder="Username" />
</StackLayout>
</ContentPage.Content>
</ContentPage>
答案 0 :(得分:1)
似乎导航栏具有默认的填充设置(尽管我无法在任何地方找到记录的设置),而且我也找不到改变它的方法(不使用自定义渲染器)。
尽管如此,如果您要查找的只是简单地获得所需颜色的整个条形,则可以如下设置页面的BarBackgroundColor属性:
protected override void OnAppearing()
{
base.OnAppearing();
((NavigationPage)App.Current.MainPage).BarBackgroundColor = Color.Red;
}
答案 1 :(得分:0)
我建议您不要在NavigationPage.TitleView中添加BoxView,只需在App.xaml.cs中设置BarBackgroundColor,如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<!--<NavigationPage.TitleView>
<BoxView BackgroundColor="Red" VerticalOptions="CenterAndExpand" />
</NavigationPage.TitleView>-->
<ContentPage.Content>
<StackLayout Orientation="Vertical">
<Entry Placeholder="Username" />
</StackLayout>
</ContentPage.Content>
public App()
{
InitializeComponent();
MainPage = new NavigationPage(new MainPage()) { BarBackgroundColor=Color.Red};
}
答案 2 :(得分:0)
这救了我!在App.xaml中添加ot
在ResourceDictionary下
<ResourceDictionary>
<!--Global Styles-->
<Style TargetType="NavigationPage">
<Setter Property="BarBackgroundColor" Value="Red"/>
<Setter Property="BarTextColor" Value="White"/>
</Style>
</ResourceDictionary>
答案 3 :(得分:0)
这实际上取决于您用于工具栏的解决方案。 大多数情况下,在您的 android 解决方案中更新工具栏就足够了。 如果它不起作用,它可能在您的工具栏渲染器中(如果您使用)或在 styles.xml 中 Check out for more solutions
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
完整的工具栏.xml
<androidx.appcompat.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_my_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:popupTheme="@style/ThemeOverlay.AppCompat.Light" />