我对Android Studio生成的两个布局文件感到困惑。 (fragment_main.xml和activity_main.xml)
我使用activity_main.xml。要使用activity_main.xml,我需要注释掉
if(savedInstanceState==null){...} //in onCreate(), Otherwise it will not display
然后我可以使用activity_main.xml。
有人能解释我吗
何时使用Fragment_main.xml
使用两种布局的优势。
如何正确使用它们。(如果我没有在上面注释掉它将不显示activity_main.xml,而是显示fragment_main布局。这意味着我需要在fragment_main.xml中创建接口。)
感谢。
答案 0 :(得分:6)
以下是使用Fragments(分割您的活动)的好处:
支持多种模式:例如,如果您的应用支持横向和纵向模式或平板电脑设备。考虑像你有一个列表视图,另一个是你的应用程序中的详细信息页面。您可以使用列表视图制作两个片段,使用详细信息制作一个片段而不是两个活动,并且可以在横向和平板电脑设备中组合在一起,而不是为平板电脑制作另一个活动在平板电脑上查看Android Settings
屏幕。
自定义视图:在某些情况下,我们需要创建一些自定义视图,但自定义视图的问题是维护状态,因此如果它们符合您的需求,您可以使用片段
应用导航:滑动抽屉导航处理。在您的设备中打开Google Play,查看滑动导航。如果您点击滑动导航栏中的任何可用选项,则在点击项目时您将看不到任何活动。由于它们都是应用程序的顶视图,因此在这种情况下,您可以使用片段激活并更改它们。
重复使用观看次数:创建片段后,您可以在运行时将其添加到活动中的任何活动中使用它们。
还有很多其他好处,一旦你开始使用,你会发现它们。
这里有关于android开发人员空间的一个很好的解释:
http://developer.android.com/guide/components/fragments.html
阅读本文并做出决定。
答案 1 :(得分:0)
我总是尝试在活动中使用片段,我希望我的活动尽可能小,片段中包含所有重要的代码。这是推荐的方式,请查看此link。
正如我所写,如果你的活动非常薄,例如显示图像然后是的确定,只使用一项活动,但片段有很多其他好处。就像旋转一样,活动就会消失,但片段仍然活着!
我真的不认为你理解片段的概念。上面的链接说明了这一点:
片段表示活动中的行为或用户界面的一部分。
如果您不想要您的片段,请检查activity_main.xml文件并删除片段引用,或者不要使用片段管理器添加它。但你似乎很绿,所以阅读片段,他们使android编程更容易忍受。
答案 2 :(得分:0)
使用一种布局总是更好。在这种情况下,我建议使用activity_main.xml并按照以下过程删除fragment_activity.xml:
1.正常进行项目。
2.将fragment_main.xml复制到activity_main.xml(内容)。然后删除fragment_main.xml
3.在MainActivity.java中删除以下内容:
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
和
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
return rootView;
}
}
希望这个帮助