6.3选择布局管理器(ViewGroup)和排列组件
问题
你想知道如何在你的视图中安排你的GUI组件。
解
有许多布局管理器或ViewGroup可用。下表应该帮助你获得一个句柄,使用哪个。
讨论
与JavaSE和大多数其他GUI包一样,有多个组件可用于控制各个GUI组件的布局。 JavaSE的AWT和Swing提供了两个一起工作的类,Container和LayoutManager。 Container有一个LayoutManager实例来代表它来执行布局计算。 Android,已经被设想为更小的设备,将这两个函数组合成一个单独的类,android.view.ViewGroup。 ViewGroup有很多子类供您使用。虽然LinearLayout是最知名的,但还有许多其他的。还有一些子类不用作任意布局管理器,例如下拉式的Spinner(参见配方6.14)。
名称基本理念另请参见
AbsoluteLayout绝对定位;几乎从来没有正确的选择!
FrameLayout堆栈中的多个视图
GridLayout在行和列中相等大小的视图
LinearLayout行或列中的视图
RelativeLayout复杂布局,如HTML表;比嵌套更高效
TableLayout一组行,每行有一些列数量食谱1.24
TabHost标签视图
+ SlidingDrawer(已弃用)屏幕的垂直分割
ViewPager(已弃用)允许用户左右翻页数据页面
所有现代Android的Android都有一个内置的拖放可视布局编辑器;这些允许您拖放GUI组件以根据需要排列布局。以前也有一个名为DroidDraw的独立GUI构建工具,但它似乎已被其原始作者放弃,当Google关闭GoogleCode时遗留下来。有多次尝试恢复DroidDraw;您可以使用此<a href=https://github.com/search?utf8=%E2%9C%93&q=droiddraw> Github搜索</a>找到它们,如果您有某些原因不使用自带的工具您的IDE。
问题
你想知道如何在你的视图中安排你的GUI组件。
解
有许多布局管理器或ViewGroup可用。下表应该帮助你获得一个句柄,使用哪个。
讨论
与JavaSE和大多数其他GUI包一样,有多个组件可用于控制各个GUI组件的布局。 JavaSE的AWT和Swing提供了两个一起工作的类,Container和LayoutManager。 Container有一个LayoutManager实例来代表它来执行布局计算。 Android,已经被设想为更小的设备,将这两个函数组合成一个单独的类,android.view.ViewGroup。 ViewGroup有很多子类供您使用。虽然LinearLayout是最知名的,但还有许多其他的。还有一些子类不用作任意布局管理器,例如下拉式的Spinner(参见配方6.14)。
名称基本理念另请参见
AbsoluteLayout绝对定位;几乎从来没有正确的选择!
FrameLayout堆栈中的多个视图
GridLayout在行和列中相等大小的视图
LinearLayout行或列中的视图
RelativeLayout复杂布局,如HTML表;比嵌套更高效
TableLayout一组行,每行有一些列数量食谱1.24
TabHost标签视图
+ SlidingDrawer(已弃用)屏幕的垂直分割
ViewPager(已弃用)允许用户左右翻页数据页面
所有现代Android的Android都有一个内置的拖放可视布局编辑器;这些允许您拖放GUI组件以根据需要排列布局。以前也有一个名为DroidDraw的独立GUI构建工具,但它似乎已被其原始作者放弃,当Google关闭GoogleCode时遗留下来。有多次尝试恢复DroidDraw;您可以使用此<a href=https://github.com/search?utf8=%E2%9C%93&q=droiddraw> Github搜索</a>找到它们,如果您有某些原因不使用自带的工具您的IDE。