web-dev-qa-db-ja.com

Xamarinフォームアクションバー

AndroidのXamarinForms-Portable(Xaml)からアクションバーを削除する方法はありますか?

Xamarin Forms xamlのコンテンツページの上に表示される小なり記号( "<")とアプリケーションアイコンを削除したい。

16
user3509981

以下のコードを使用してXamarin.Formsを使用すると、Xamlからナビゲーションバーを削除できます。

NavigationPage.SetHasNavigationBar (this, false);

ここで、thisは現在のページ/フォームインスタンスを表します。

お役に立てれば!

41
Nirav Mehta

NavigationPage.SetHasNavigationBar(this, false);

上記は良い解決策ではありません。

このコードを使用すると、ページに存在するNavigationBarが無効になります。

NavigationRendererNavigationPageAndroidに作成するだけで、実際のソリューションを実現できます。

void RemoveAppIconFromActionBar()
{
    var actionBar = ((Activity)Context).ActionBar;
    actionBar.SetIcon (new ColorDrawable (Color.Transparent.ToAndroid ()));
}

完全なコードスニペットについては、Githubを参照してください: https://Gist.github.com/Vaikesh/f86d1968c8166519f102#file-customnavigationrenderer-cs

2
Vaikesh

これは、アクションバーで使用できる[戻る]ボタンと呼ばれます。を使用して削除できます

NavigationPage.SetHasBackButton(this, false)
0
Ravinder Jangra

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>
0
Chetan Rawat

これを実現する最も簡単な方法は、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>
0
Moses Nero