ViewGroup是一个特殊的View类,它继承于android.view.View。它的功能就是装载和管理下一层的View对象和ViewGroup对象。ViewGroup是布局管理器(layout)及view容器的基类。
ViewGroup中,还定义了一个嵌套类ViewGroup.LayoutParams。这个类定义了一个显示对象的位置、大小等属性,view通过LayoutParams中的这些属性值来告诉父级,它们将如何放置。
在这里,继承于ViewGroup的一些主要的布局类如下:
1、FrameLayout:最简单的一个布局对象。它里面只显示一个显示对象。所有的显示对象都将会固定在屏幕的左上角,不能指定位置。但允许有多个显示对象,但后一个将会直接在前 一个之上进行覆盖显示,把前一个部份或全部挡住(除非后一个是透明的)。
2、LinearLayout:以单一方向对其中的显示对象进行排列显示,如以垂直排列显示,则布局管理器中将只有一列;如以水平排列显示,则布局管理器中将只有一行。同时,它还可以对个别的显示对象设置显示比例。
3、TableLayout:以拥有任意行列的表格对显示对象进行布局,每个显示对象被分配到各自的单元格之中,但单元格的边框线不可见。
4、AbsoluteLayout:允许以坐标的方式,指定显示对象的具体位置,左上角的坐标为(0, 0),向下及向右,坐标值变大。这种布局管理器由于显示对象的位置定死了,所以在不同的设备上,有可能会出现最终的显示效果不一致。
5、RelativeLayout:允许通过指定显示对象相对于其它显示对象或父级对象的相对位置来布局。如一个按钮可以放于另一个按钮的右边,或者可以放在布局管理器的中央。
分享到:
相关推荐
ViewGroup rootView = (ViewGroup) decorView.findViewById(android.R.id.content); ``` 在这个例子中,`android.R.id.content`是默认的根View ID,通常是一个FrameLayout。 五、使用Kotlin的扩展函数 在Kotlin中...
安卓开发-Android 主流的图片浏览的全屏缩放效果SmoothImageDemo软件源码: import java.io.File; import java.util....import android.view.ViewGroup; import android.widget.BaseAdapter; import android.wi
android-support-v4.jar包含了大量的类和方法,这些类和方法扩展了Android核心框架,提供了额外的功能,如Fragment、Loader、BroadcastReceiver等。 **ViewPager与Fragment结合使用:** ViewPager通常与Fragment...
3. **View**: 视图系统是Android UI构建的基础,包括View和ViewGroup。源码解释了布局绘制、触摸事件处理以及动画实现的细节。 4. **BroadcastReceiver**: 广播接收器用于监听系统或应用发出的广播事件。源码中可以...
params.width = android.view.ViewGroup.LayoutParams.WRAP_CONTENT;// 窗口宽度 params.height = android.view.ViewGroup.LayoutParams.WRAP_CONTENT;// 窗口高度 manager.addView(layout, params); }
在Android开发中,`ViewGroup`和`View`是构建用户界面的核心组件。`View`是所有UI元素的基类,而`ViewGroup`则是一个特殊的`View`,它能够包含多个子`View`,形成了Android UI的层级结构。这份源码提供了深入理解这...
在源码层面,深入研究Android Framework中的View和ViewGroup类,可以帮助我们更好地理解其工作原理,从而在遇到性能问题时能够快速定位并优化。同时,了解这些底层机制也能帮助我们在设计复杂布局时避免常见陷阱,...
首先,自定义ViewGroup意味着你需要扩展`android.view.ViewGroup`类,这是一个容器,可以包含多个子视图(Views)。ViewGroup负责布局管理,包括子视图的位置和大小计算。在自定义过程中,我们通常会重写以下几个...
本资源提供对于ViewGroup下所以子view的遍历,以及调用Views都过tag或者Widget的类查找返回一个List<View> 使用方法可见示例: 子View遍历 ViewGroup root = (ViewGroup) findViewById(android.R.id.content); ...
最后,在CustomLinearLayout类中,我们需要覆盖`generateLayoutParams(AttributeSet attrs)`和`checkLayoutParams(ViewGroup.LayoutParams p)`方法,以确保系统使用我们的自定义LayoutParams: ```java public ...
package wei.ye.g1;import android.app.Activity;...import android.view.ViewGroup.LayoutParams;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ImageView;
在Android开发中,创建具有指定圆角的ViewGroup是一个常见的需求,这可以帮助开发者设计出更加美观和具有现代感的用户界面。"Android-可以指定圆角的ViewGroup"这个主题聚焦于如何在Android应用中实现自定义的布局,...
首先,我们需要理解Android中的View和 ViewGroup。View是Android UI的基本元素,它可以是按钮、文本框等单一控件;而ViewGroup则是容器,用于组织和管理多个View,比如LinearLayout、RelativeLayout等。在这个特效中...
代码如下: import android.app.Activity; import android.os.Bundle; import android.content.Context; import android.graphics.Color;... import android.view.ViewGroup; import android.view.View.OnClick
ViewGroup.LayoutParams.MATCH_PARENT, 64); TextView textView = new TextView(ExpandableListDemo.this); textView.setLayoutParams(lp); // Center the text vertically textView.setGravity(Gravity....
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); pdfView.setLayoutParams(layoutParams); parentView....
import android.content.Context; import android.view.LayoutInflater;...import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.CheckBox; import android.widget.TextView;
在Android系统中,Widget主要包括AppWidget、View和ViewGroup等类型。AppWidget是Android提供的用于在主屏幕上展示的小部件,如天气预报、音乐播放控制器等。开发者需要创建一个AppWidget提供者,并通过XML布局文件...
RecyclerView类驻留在android.view.ViewGroup中。 Android将其描绘为可适应的视图,用于将有限的窗口提供给大量数据集。 对我们来说,我们忙于这个数据集:如何对其进行排序。 安排信息至关重要,尤其是在诸如...