2014-04-10 72 views

回答

1

I dont know if fragments can be included inside Navigation Drawer or not

是的,他們一樣可以在佈局的任何有效的部分整合。只需在抽屜中輸入ViewGroup(FrameLayout,LinearLayout等)並指示FragmentManager通過給出addreplace方法中的佈局ID在該視圖組中放置一個片段。

我不確定你的意思是Contextual Layout,但我已經檢查過Google Play和Youtube應用程序,並且在他們的抽屜佈局中看起來好像沒有片段。

編輯:下面是一個抽屜有一個片段的基本示例。我想你知道this developer article與如何定製與操作欄一起的抽屜。

drawer_main.xml

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <!-- The main content view --> 

    <FrameLayout 
     android:id="@+id/content_frame" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 
    <!-- The navigation drawer --> 

    <FrameLayout 
     android:id="@+id/left_drawer" 
     android:layout_width="240dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" /> 

</android.support.v4.widget.DrawerLayout> 

MainActivity.java

public class MainActivity extends ActionBarActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.drawer_main); 
     if (savedInstanceState == null) { 
      getSupportFragmentManager().beginTransaction() 
        .add(R.id.left_drawer, getDrawerFragment()).commit(); 
     } 
    } 

    private Fragment getDrawerFragment() { 
     return new DrawerFragment(); 
    } 
} 

DrawerFragment.java

public class DrawerFragment extends Fragment { 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.drawer_fragment_layout, container, false); 
    } 

    public void onViewCreated(View view, Bundle savedInstanceState) { 
     ListView listView = (ListView) view.findViewById(R.id.main_list_view); 
     listView.setAdapter(new ArrayAdapter<String>(getActivity(), 
       android.R.layout.simple_list_item_1, new String[] { 
         "Adam", "Diana", "John" 
       })); 
    } 
} 

片段的佈局drawer_fragment_layout.xml

<ListView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/main_list_view" 
    android:background="#ffffff" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

有道理?

+0

你可以放入一個示例代碼。這將簡化一切。 你的答案似乎與我想要的東西。 –

+1

@ParitoshTonk:增加了一些基本的代碼示例 – gunar

+0

謝謝剛纔我想要的 –

0

您可以使用片段或只是一個佈局。導航抽屜必須爲子佈局。第一個是主要的,第二個是抽屜。這兩個孩子佈局可以只是一個佈局或像YouTube分機的片段。您可以在here找到所有基本信息。