Android布局管理器 – 详细解析布局实现 2026/1/15 2:30:06 要点 : 注意每个组件的属性, 先要确定方位, 再进行对齐, 组件左边界对齐, 组件上边界对齐; 代码 : xmlns:android=\ android:layout_width=\android:layout_height=\android:id=\android:layout_width=\android:layout_height=\android:text=\按钮1\android:layout_centerInParent=\android:id=\android:layout_width=\android:layout_height=\android:text=\按钮2\android:layout_above=\android:layout_alignLeft=\android:id=\android:layout_width=\android:layout_height=\android:text=\按钮3\android:layout_centerInParent=\android:layout_below=\android:layout_alignLeft=\android:id=\android:layout_width=\android:layout_height=\android:text=\按钮4\android:layout_centerInParent=\android:layout_toLeftOf=\android:layout_alignTop=\android:id=\android:layout_width=\android:layout_height=\android:text=\按钮5\android:layout_centerInParent=\android:layout_toRightOf=\android:layout_alignTop=\ 4. 相对布局常用方法 (1) 获取屏幕中一个组件的位置 要先创建一个整型数组, 数组大小2位; 这个数组传入getLocationOnScreen()方法; 可以调用View.getLocationOnScreen()方法, 返回的是一个数组 int[2], int[0] 是横坐标, int[1] 是纵坐标; //获取组件 Button b = (Button) this.findViewById(R.id.Button01); //创建数组, 将该数组传入getLocationOnScreen()方法 int locations[] = new int[2]; //获取位置信息 b.getLocationOnScreen(locations); //获取宽度 int width = locations[0]; //获取高度 int height = locations[1]; (2) LayoutParams的使用设置所有属性 属性设置方法少 : Android SDK中View类只提供了很少用于设置属性的方法, 大多数属性没有直接对应的获得和设置属性值的方法, 看起来貌似不是很好用; 使用LayoutParams设置属性值 : Android中可以对任何属性进行设置, 这里我们需要一个LayoutParams对象, 使用这个LayoutParams.addRule()方法, 可以设置所有组件的属性值; 设置完之后调用View.setLayoutParams()方法, 创建刚才的LayoutParams对象, 并更新View的相应的属性值; 代码中动态设置布局属性 : a. 创建LayoutParams对象 b. 调用LayoutParams对象的addRule()方法设置对应属性; c. 调用View.setLayoutParams()方法将设置好的LayoutParams对象设置给组件; d. 调用addView方法将View对象设置到布局中去; 使用代码设置android:layout_toRightOf 和 android:layout_below属性 : //装载布局文件 RelativeLayout relativeLayout = (RelativeLayout) getLayoutInflater().inflate(R.layout.relative, null); //装载要动态添加的布局文件 Button button = (Button) relativeLayout.findViewById(R.id.bt1); //创建一个LayoutParams对象 LayoutParams layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); //设置android:layout_toRightOf属性 layoutParams.addRule(RelativeLayout.RIGHT_OF, R.id.bt2); //设置android:layout_below layoutParams.addRule(RelativeLayout.BELOW, R.id.bt2); //更新Button按钮的属性 button.setLayoutParams(layoutParams); //向布局中动态添加按钮 relativeLayout.addView(button); 三. 帧布局FrameLayout 帧布局容器为每个组件创建一个空白区域, 一个区域成为一帧, 这些帧会根据gravity属性自动对齐; (1) 绘制霓虹灯布局 绘制一个霓虹灯效果的层叠布局, 如下图 : 要点 : 后挡前 : 后面的View组件会遮挡前面的View组件, 越在前面, 被遮挡的概率越大; 界面居中 : 将所有的TextView组件的对齐方式 android:layout_gravity 设置为center; 正方形 : 所有的TextView都设置android:height 和 android:width 属性, 用来设置其宽高, 这里设置成正方形, 宽高一样, 后面的组件比前面的边长依次少40; 颜色 : 每个TextView的背景都设置成不一样的; 代码 : 2. 使用代码使上面的霓虹灯效果动起来 123456 Android布局管理器 – 详细解析布局实现.doc 将本文的Word文档下载到电脑 下载这篇word文档