AndroidのXamarinForms-Portable(Xaml)からアクションバーを削除する方法はありますか?
Xamarin Forms xamlのコンテンツページの上に表示される小なり記号( "<")とアプリケーションアイコンを削除したい。
以下のコードを使用してXamarin.Formsを使用すると、Xamlからナビゲーションバーを削除できます。
NavigationPage.SetHasNavigationBar (this, false);
ここで、this
は現在のページ/フォームインスタンスを表します。
お役に立てれば!
NavigationPage.SetHasNavigationBar(this, false);
上記は良い解決策ではありません。
このコードを使用すると、ページに存在するNavigationBar
が無効になります。
NavigationRenderer
のNavigationPage
をAndroid
に作成するだけで、実際のソリューションを実現できます。
void RemoveAppIconFromActionBar()
{
var actionBar = ((Activity)Context).ActionBar;
actionBar.SetIcon (new ColorDrawable (Color.Transparent.ToAndroid ()));
}
完全なコードスニペットについては、Githubを参照してください: https://Gist.github.com/Vaikesh/f86d1968c8166519f102#file-customnavigationrenderer-cs
これは、アクションバーで使用できる[戻る]ボタンと呼ばれます。を使用して削除できます
NavigationPage.SetHasBackButton(this, false)
Xmlページからこれを達成するための最良の方法
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
x:Class="ICLDC.Digital.General.Pages.AboutApp.AboutApplication"
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.Microsoft.com/winfx/2009/xaml"
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;Assembly=Xamarin.Forms.Core"
xmlns:local="clr-namespace:ICLDC.Digital.General.Pages.Generic"
xmlns:translate="clr-namespace:ICLDC.Digital.General.Helpers"
ios:Page.UseSafeArea="True"
NavigationPage.HasNavigationBar="False">
<ContentPage.Content>
<StackLayout
BackgroundColor="White"
HorizontalOptions="FillAndExpand"
Spacing="0"
VerticalOptions="FillAndExpand"/>
</ContentPage.Content>
</ContentPage>
これを実現する最も簡単な方法は、ContentPageにNavigationPage.HasNavigationBar = "false"を追加することです。
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.Microsoft.com/winfx/2009/xaml"
x:Class="SterlingSwitch.Pages.Page1"
NavigationPage.HasNavigationBar="False">
<ContentPage.Content>
<StackLayout>
<Label Text="Welcome to Xamarin.Forms!"
VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand" />
</StackLayout>
</ContentPage.Content>
</ContentPage>