[英]Are Android Fragments View or ViewGroup
正如問題所讀,android中的片段是View或ViewGroup。 誰能解釋
這是來自文檔的Fragment的onCreateView方法
public static class ExampleFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.example_fragment, container, false);
}
}
傳遞給onCreateView()的
container
參數是父ViewGroup(來自活動的布局),在其中插入片段布局
和
要為片段繪制UI,必須從此方法返回一個View,它是片段布局的根。
您不能將片段定義為視圖或視圖組。片段的含義遠不止這些。可視化片段的最簡單方法是將其視為具有自己的xml外觀,具有自己的生命周期回調的行為的一部分。一種活動,允許您在運行時對其執行添加,替換等操作。這樣,您可以有效地在布局之間進行切換。
要了解onCreateView
方法,請考慮以下說明:
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){
View view =inflater.inflate(R.layout.example_fragment, container, false);
return view;
}
這將返回一個View對象(始終為ViewGroup
,其中包含定義Fragment UI的View對象集。 當Fragment需要提供其UI供顯示時, Activity
調用此事件處理程序。
碎片是一種不需要全屏顯示的活動,它可以將屏幕分成很多碎片,因此非常適合手機和平板電腦使用。
我認為沒有,activity(fragment)控制視圖顯示的內容,viewGroup擴展視圖並實現ViewManger。只有與活動負載相關的View才能通過電話顯示布局。Activity是一個Group,view可以在此容器中正常工作
都不行 Fragment
是基類。
來自https://developer.android.com/guide/components/fragments.html
Fragment
代表活動中的行為或用戶界面的一部分
Fragment
包含一個字段:
// The View generated for this fragment.
View mView;
在具有實現的onCreateView
中生成的:
@Nullable
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
Bundle savedInstanceState) {
return null;
}
因此,如果您想要帶有View
的Fragment
,則@Override
該方法。 然后,如果您使用Activity
或嵌套Fragment
的適當片段事務,則可以將Fragment
顯示給用戶。
片段是與主機活動生命周期相關聯的自定義視圖的包裝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.