我们在写布局的时候会用到<fragment>标签,但是当使用这个标签时,你知道View的层级关系吗?
activity的layout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#00ff00" android:orientation="vertical"> <fragment android:id="@+id/play_fragment" android:name="com.sohudm.module.media.fragment.PlayFragment" android:layout_width="match_parent" android:background="#0000ff" android:layout_height="230dp" /> </LinearLayout>
fragment的layout
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:background="#ff0000" android:layout_height="400dp"> <FrameLayout android:id="@+id/play_root_layout" android:layout_width="match_parent" android:background="@color/setting_log_unselect" android:layout_height="220dp"> <com.sohudm.module.media.widgets.VideoView android:id="@+id/video_view" android:layout_width="match_parent" android:layout_height="200dp"> </com.sohudm.module.media.widgets.VideoView> <com.sohudm.module.media.widgets.MediaController android:id="@+id/media_controller" android:layout_width="match_parent" android:layout_height="200dp"> </com.sohudm.module.media.widgets.MediaController> </FrameLayout> </LinearLayout>
最终的布局是LinearLayout 套LinearLayout 套FrameLayout,需要注意的是,第二个LinearLayout的width和height属性是采用<fragment>标签中设置的属性,其他属性还是采用自身的。