2016-01-10 108 views
0

正如問題所述,android中的碎片是View或ViewGroup。誰能解釋Android碎片查看或查看組

這裏是片段從docs

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); 
    } 
} 

container參數傳遞給onCreateView()的onCreateView方法父 的ViewGroup(從活動的佈局)在你的片段佈局 將插入

而且

要爲您的片段繪製UI,您必須從此 方法返回一個視圖,該方法是片段佈局的根。

+2

它不是View或ViewGroup.It是一個對象,它的一個屬性是一個ViewGroup。 –

+0

啊碎片,開發中的第一個主要思維障礙,你寫的方法返回一個曾經放在屏幕上的視圖。在幕後,Fragment類處理容器參數是什麼(不要引用它,但我認爲它與FragmentTransaction有關)。 –

回答

0

片段是一種不需要全屏的活動,它可以將屏幕分割成多個片段,因此很適合手機和平板電腦。

+0

是的,你是正確的使用fragment.But我想知道他們是View或ViewGroup –

1

您不能將片段定義爲視圖或視圖組。碎片不僅僅是這些。碎片可視化的最簡單方法是將它們視爲具有自己的xml外觀的活動的塊,擁有自己的生命週期回調的自己的行爲。在活動之上運行,允許您在運行時對它們執行諸如添加,替換等操作。這樣,您就可以有效且高效地在佈局之間切換。
要了解onCreateView方法,考慮瞭如下解釋:

public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){ 
     View view =inflater.inflate(R.layout.example_fragment, container, false); 
     return view; 

    } 

這個返回一個視圖對象,總是ViewGroup與該組查看對象的定義片段的UI。 Activity在Fragment提供用於顯示的UI時調用此事件處理程序。

0

我覺得是不行,activity(片段)控制什麼視圖顯示,viewGroup擴展視圖並實現ViewManger.Only Activity加載相關Views可以手機顯示layout.Activity是一個Group,view可以在這個容器中正常工作

0

都沒有。 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; 
} 

所以,如果你想有一個FragmentView然後@Override該方法。然後,如果您使用Activity或嵌套Fragment的適當片段事務,則Fragment可以顯示給用戶。