片段开始布局的活动

时间:2014-12-14 17:34:35

标签: android android-fragments xamarin

我将这个课程用于布局

class frg : Android.Support.V4.App.Fragment
{
    private int i;
    public int iGet
    {
        set
        {
            this.i = value;
        }
    }
    public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        int layoutViewer;
        if (i == 0)
        {
            layoutViewer = Resource.Layout.hamayesh;
        }
        else
        {
            layoutViewer = Resource.Layout.sign_up;
        }
        var view = inflater.Inflate(Resources.GetLayout(layoutViewer), container, false);
        return view;
    }
}

这些布局是动态的,需要活动现在我不知道应该如何开始布局活动(比如StartActivty(typeof(ActivityMain)))

1 个答案:

答案 0 :(得分:0)

您应该首先启动一个包含片段框架的活动:

StartActivty(typeof(ActivityMain)));

布局可能是这样的:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <include
            android:id="@+id/toolbar"
            layout="@layout/toolbar_actionbar"
            android:layout_alignParentTop="true" />
        <FrameLayout
            android:id="@+id/content_frame"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:layout_centerInParent="true"
            android:layout_below="@+id/toolbar" />
    </RelativeLayout>
    <ListView
        android:id="@+id/navigation_drawer_list"
        android:divider="@null"
        android:scrollbars="vertical"
        android:choiceMode="singleChoice"
        android:layout_width="@dimen/navigation_drawer_width"
        android:layout_height="match_parent"
        android:layout_gravity="left|start" />
</android.support.v4.widget.DrawerLayout>

这将为您提供一个导航抽屉和框架的视图,以显示其中的新碎片。 在您的活动中,您现在可以使用以下代码打开所需的片段:

var contentManager = SupportFragmentManager.BeginTransaction();
contentManager.Replace(Resource.Id.player_frame, fragment);
contentManager.Commit();

此处提供了完整的示例:https://github.com/jamesmontemagno/Xam.NavDrawer/tree/master/Material%20(Lollipop%20Style)/AppCompat%20v14%2B