无论我看,FrameLayout
似乎被用作FragmentContainer
。 为什么FrameLayout
总是看到Fragments
?为什么FrameLayout用于碎片?
30
A
回答
34
基本上可以使用RelativeLayout
或LinearLayout
它仍然可以工作,但你的问题的回答是FrameLayout
的文档中:
FrameLayout里被设计来阻挡的区域在屏幕上显示 一个单个项目。一般来说,FrameLayout应该用于保存子视图,因为可以很难以 的方式组织子视图,这种方式可以扩展到不同的屏幕尺寸,而不需要儿童 彼此重叠。但是,您可以使用android:layout_gravity 属性将多个孩子添加到FrameLayout中,并将其在FrameLayout中的位置控制为 ,从而为每个孩子分配重力。
你可以阅读更多关于FrameLayout
这里:FrameLayout/Android Developers
14
框架布局的主要目的是阻止以适应最大的子视图所需要的面积。如果将帧布局用作碎片容器,则可以确保始终具有可用空间以容纳最大碎片布局。
在某些情况下,您可能需要同时在屏幕上显示多于1个片段,在这种情况下,您应该更喜欢相对或线性布局。
1
一切都基于用户需求和定制需要。
根本没有必要使用FrameLayout。
例如在下面的代码中没有采取布局,并且片段本身只包含单个imageview。
public class MyFragment extends Fragment implements OnClickListener{
String TAG="MyFragment";
Context c;
MyFragment(Context con){
c=con;
}
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
ImageView v=new ImageView(c);
//other imageview stuff
return v;
}
@Overrides
public void onClick(View v) {
// TODO Auto-generated method stub
Log.i(TAG, "onClcik");
}
}
相关问题
- 1. 为什么使用碎片?
- 2. 为什么FragmentManager.FindFragmentById可以用于FrameLayout?
- 3. 什么是碎片
- 4. 为什么elasticsearch碎片未分配
- 5. 为什么我的碎片空白?
- 6. 为什么Redis中的内存碎片小于1
- 7. 为什么片段在使用FrameLayout使用片段事务时调用OnCreate/OnCreateView?
- 8. 为什么我的FrameLayout fragment_container为空?
- 9. Android碎片 - 为什么它们如此有用?
- 10. 为什么我变成碎片,应用程序崩溃
- 11. 为什么我们需要在ipv6中使用碎片?
- 12. 为什么不“不碎片”标志被禁用?
- 13. Facebook的页面怎么了为什么会出现碎片
- 14. Android的碎片 - 我在做什么错
- 15. 碎片内存是什么样的?
- 16. 碎片onCreateView方法做什么?
- 17. 为什么FrameLayout不能用作我的片段容器使用全屏宽度?
- 18. 为什么我的FrameLayout有0高度?
- 19. 什么时候应该在Android应用程序中使用片段?为什么要使用碎片?
- 20. 为什么我不能用零碎的
- 21. 为什么我会在Android Studio(碎片)中获取NullPointerException?
- 22. 为什么碎片需要大量存储?
- 23. 为什么64位机器上的内存碎片问题?
- 24. 这是什么错误:无法映射为因碎片
- 25. 为什么需要处理消息的碎片
- 26. 为什么我不能在Android中膨胀我的碎片?
- 27. elasticsearch:为什么碎片大小在/ _cat/shards中丢失
- 28. 为什么System.Drawing + ClearType字体有丑陋的黑色碎片?
- 29. 为什么我的碎片出现在彼此之上?
- 30. FrameLayout是做什么的?