2016-08-29 12 views
1

XAMLを使用した単純なXamarinプロジェクトがあり、マテリアルデザインを使用したいと考えていますが、デフォルトで有効になっているようですが、ツールバーはMainPageと共に表示されません。または、xamlでトゥバールを追加する必要がありますか?Xamarinフォームでツールバーを有効にする方法

MainPage.xamlを:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
      xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
      xmlns:local="clr-namespace:Material" 
      x:Class="Material.MainPage"> 
    <Label Text="Welcome to Xamarin Forms!" 
      VerticalOptions="Center" 
      HorizontalOptions="Center" /> 
    <ToolbarItem Name="Test" /> 
</ContentPage> 

style.xml:

<style name="MainTheme" parent="MainTheme.Base"> 
    </style> 
    <style name="MainTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
    <item name="colorPrimary">#2196F3</item> 
    <item name="colorPrimaryDark">#1976D2</item> 
    <item name="colorAccent">#FF4081</item> 
    <item name="windowActionModeOverlay">true</item> 
    <item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item> 
    </style> 
    <style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog"> 
    <item name="colorAccent">#FF4081</item> 
    </style> 

Toobar.axml:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/toolbar" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:background="?attr/colorPrimary" 
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
android:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

Tabbar.axml

<android.support.design.widget.TabLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/sliding_tabs" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:background="?attr/colorPrimary" 
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
app:tabIndicatorColor="@android:color/white" 
app:tabGravity="fill" 
app:tabMode="fixed" /> 

MainActivity.cs:

[Activity(Label = "Material", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity 
{ 
    protected override void OnCreate(Bundle bundle) 
    { 
     TabLayoutResource = Resource.Layout.Tabbar; 
     ToolbarResource = Resource.Layout.Toolbar; 

     base.OnCreate(bundle); 
     global::Xamarin.Forms.Forms.Init(this, bundle); 
     LoadApplication(new App()); 
    } 
} 

私はThisチュートリアル以下ました。ありがとう!

は、これまでのところ、私はちょうどあなたがあなたのApp.(xaml).csNavigationPageであなたのContentPageをラップする必要があります... enter image description here

+0

私がここで触れたチュートリアルでは、Actionbarはなくなりました。今度はAppCompat v7で、チュートリアルでやってツールバーを作成しました。 –

答えて

3

をこれを得ました。あなたはさらにナビゲートしているとき

public App() 
{ 
    InitializeComponent(); 
    MainPage = new NavigationPage(new MainPage()); 
} 

、あなたはナビゲーションは相対的なものであるとして、NavigationPageContentPageたびにラップする必要はないだろう。だからあなたのApp.(xaml).cs内のあなたのMainPageを定義

は、このようにそれを行います。

+0

ありがとう、それは動作します! –

関連する問題