2017-04-18 118 views

回答

-1

framelayout,Relative View和其他一些代表了Android中的视图,并从视图组扩展。

片段是一个对象,用于表示用户界面的一部分,通常托管在一个活动中。

片段有一个viewgroup,您可以分配一个XML布局。在XML中,如果您希望在片段中表示视图组的布局,您可以指定一个视图组,该视图组可以是一个框架布局。

碎片和框架布局不能互换使用。

话虽如此,你可以创建一个Android应用程序,而不使用片段,并使用视图组。

3

为了在屏幕上立即显示单个片段,可以,可以交替使用片段或FrameLayout。

单一片段,方法1

显示通过片段标签的片段是这样的XML:

<fragment class="com.example.ExampleFragment" 
     android:id="@+id/details" android:layout_weight="1" 
     android:layout_width="0px" android:layout_height="match_parent" /> 

单一片段,方法2

通过的FrameLayout显示的片段会看像XML一样:

<FrameLayout android:id="@+id/details" android:layout_weight="1" 
      android:layout_width="0px" android:layout_height="match_parent" /> 

跟着Ja VA这样的代码:

Fragment newFragment = new ExampleFragment(); 
FragmentTransaction transaction = getFragmentManager().beginTransaction(); 
transaction.replace(R.id.details, newFragment); 
transaction.addToBackStack(null); 
transaction.commit(); 

多个片段

方法2则支持改变你以后出了什么片段通过运行多个Java代码来改变片段是什么有算账:

Fragment secondFragment = new SecondExampleFragment(); 
FragmentTransaction transaction = getFragmentManager().beginTransaction(); 
transaction.replace(R.id.details, secondFragment); 
transaction.addToBackStack(null); 
transaction.commit(); 

所以FrameLayout为您提供了使用片段标签的额外功能。

+0

嗯,这解决了我的疑问。今天,我在XML文件中使用了,然后在java文件中使用了fragmentManager部分。在UI中有重复,现在我明白了为什么。 –

相关问题