簡體   English   中英

是Android Fragments View還是ViewGroup

[英]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;
}

因此,如果您想要帶有ViewFragment ,則@Override該方法。 然后,如果您使用Activity或嵌套Fragment的適當片段事務,則可以將Fragment顯示給用戶。

片段是與主機活動生命周期相關聯的自定義視圖的包裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM