eclipse中Android布局的基本操作
16lz
2021-01-23
布局中基本属性 宽: android:layout_width 高: android:layout_height 值: wrap_content 按内容的实际大小来衡量 match_parent 铺满父容器 固定值,如 100dp 50dp
处理内容(或者孩子)的对齐方式 android:gravity="bottom|right" 可以选的值 left 、 right 、 top 、 bottom 、 center(居中) 、 center_horizontal(水平居中) 、 center_vertical(垂直居中)
背景: android:background="@drawable/pic3" 可以设置颜色或者图片或者形状
内边距: android:padding 四周向内设置内边距 paddingLeft 左内边距 paddingRight 右内边距 paddingTop 顶部内边距 paddingBottom 底部内边距
外边距: android:layout_margin 四周向外的边距 layout_marginLeft 左外边距 layout_marginRight 右外边距 layout_marginTop 顶部外边距 layout_marginBottom 底部外边距 显示隐藏: android:visibility="visible" 默认值 visible 表示可见 invisible 不可见 , 占位置 gone 不可见 , 不占位置
文本框TextView android:text="@string/hello_world" 设置文本内容 android:textColor="@color/my_tx_color" 设置文本颜色 颜色可以直接设置颜色值用 # 开头 如:( RGB 模式) #FF0000 ( ARGB ) #FFFF0000 也可以在 values 下定义颜色值#ff0000 在布局中使用 @ 引用颜色 android:textColor="@color/my_tx_color" android:textSize="30sp" 文本大小 ( 单位为 sp ,默认大小是 16sp) 关于大小和尺寸可以在 values 下定义 dimen 30sp 然后用 @ 来引用 android:textSize="@dimen/m_tx_size" android:shadowRadius="3.0" 设置文本阴影半径 android:shadowColor="#000000" 阴影颜色 android:ellipsize="end" 过长文本处理方式 start\middel\end 表示在开头、中间、结尾加省略号 ( 结合 lines 属性一起使用 ) android:lines="2" 设置显示多少行 android:maxLines="3" 最大行数 android:minLines="2" 最少行数 android:textScaleX="0.5" 水平方向拉伸或者压缩文本 ( 瘦一点或者胖一点 ) android:textStyle="italic" 文本样式(粗体 bold ,斜体 italic ) android:marqueeRepeatLimit="marquee_forever" 跑马灯的重复次数 marquee_forever 表示永久 android:drawableLeft="@drawable/ic_launcher" 在文本左边加小图标 , 类似的还有 drawableRight 右边加小图标 drawableTop 顶部加小图标 drawableBottom 底部加小图标
布局 普通视图还是布局都继承自 View ,其中 ViewGroup 就是所有布局的父类, ViewGroup 继承自 View 同时可以对 View 进行管理 ( 编排,控制 View 显示位置和大小 )
FrameLayout:帧布局 ( 框架布局 ) ,布局特性是所有孩子默认叠在该容器左上角 其中孩子中可以使用 android:layout_gravity 来调整自己在父容器中的位置 ( 主动权在孩子身上 ) ,跟 android:gravity 不一样的是 android:gravity 主动权在父元素身上
LinearLayout:线性布局,可以水平编排或者垂直编排孩子的显示 android:orientation="vertical" 设置方向 vertical 垂直 ( 沿着 y 坐标 ) horizontal 水平方向(沿着 x 坐标) 线性布局中可以使用 android:layout_weight 属性设置权重,可以将 LinearLayout 中剩下的部分进行比例划分 LinearLayout 中如果需要使用占位视图可以使用 Space
LinearLayout 中使用 android:gravity 可以调整孩子的对齐方式,但是要注意方向, 垂直的 ( 如果高不定 ) ,可以调整孩子在 left\centerhorizontal\right 如果是水平 ( 宽如果不定 ) 可以调整孩子在 top\centervertical\bottom
RelativeLayout:相对布局
第一种:子视图相对于父容器,取值为 true/false android:layout_alignParentLeft="true" 靠父容器左侧 android:layout_alignParentRight="true" 靠父容器右侧 android:layout_alignParentTop="true" 靠父容器顶部 android:layout_alignParentBottom="true" 靠父容器底部 android:layout_centerVertical="true" 垂直居中 android:layout_centerInParent="true" 居中 android:layout_centerHorizontal="true" 水平居中
第二种:子视图之间相互参考,值对方视图的 id --> @id/xxx,id的声明与使用要注意先后顺序 id 的声明: @+id/id 名称 如: @+id/tv_a id 的引用: @id/id 名称 如: @id/tv_a android:layout_toLeftOf 在谁的左侧 android:layout_toRightOf 在谁的右侧 android:layout_above 在谁的上面 android:layout_below 在谁的下面 android:layout_alignTop 顶部对齐 android:layout_alignLeft 左侧对齐 android:layout_alignRight 右侧对齐 android:layout_alignBottom 底部对齐
布局复用 如果有多个页面中存在相同部分效果,可以将相同部分抽出来,然后其他页面应用,提高复用性,其中引用需要使用include标签,用法 定义一个布局,如:titile.xml 在需要使用给title_layout的页面上直接用include导入
布局引入的合并标签标签可以将导入的布局中的孩子直接添加到目标容器中,减少被引入的布局的根节点
Java中操作布局元素 继承Activity 重写onCreate方法表示监听窗户的创建 super.onCreate(savedInstanceState); 表示窗口已经创建成功(空白窗口) setContentView(R.layout.activity_main) ;表示设置布局的方法,一般放在onCreate方法中 处理布局中的视图 TextView tvResult=findViewById(R.id.tv) ;表示从布局中加载视图对象的方法,一般要在setContentView之后使用 tvResult.setText / setTextColor / setTextSize ...
注意: java 中使用颜色值必须是十六进制表示法,如 xml 中的红色 #ff0000 对应的 java 表示为 0xff0000 ,并且 java 中建议使用 ARGB 方式表示法,如红色 (RGB 表示 )0xff0000 建议使用 (ARGB 表示 )0xffff0000
按钮----Button button继承TextView,可以响应用户按下状态的视图
处理内容(或者孩子)的对齐方式 android:gravity="bottom|right" 可以选的值 left 、 right 、 top 、 bottom 、 center(居中) 、 center_horizontal(水平居中) 、 center_vertical(垂直居中)
背景: android:background="@drawable/pic3" 可以设置颜色或者图片或者形状
内边距: android:padding 四周向内设置内边距 paddingLeft 左内边距 paddingRight 右内边距 paddingTop 顶部内边距 paddingBottom 底部内边距
外边距: android:layout_margin 四周向外的边距 layout_marginLeft 左外边距 layout_marginRight 右外边距 layout_marginTop 顶部外边距 layout_marginBottom 底部外边距 显示隐藏: android:visibility="visible" 默认值 visible 表示可见 invisible 不可见 , 占位置 gone 不可见 , 不占位置
文本框TextView android:text="@string/hello_world" 设置文本内容 android:textColor="@color/my_tx_color" 设置文本颜色 颜色可以直接设置颜色值用 # 开头 如:( RGB 模式) #FF0000 ( ARGB ) #FFFF0000 也可以在 values 下定义颜色值
布局 普通视图还是布局都继承自 View ,其中 ViewGroup 就是所有布局的父类, ViewGroup 继承自 View 同时可以对 View 进行管理 ( 编排,控制 View 显示位置和大小 )
FrameLayout:帧布局 ( 框架布局 ) ,布局特性是所有孩子默认叠在该容器左上角 其中孩子中可以使用 android:layout_gravity 来调整自己在父容器中的位置 ( 主动权在孩子身上 ) ,跟 android:gravity 不一样的是 android:gravity 主动权在父元素身上
LinearLayout:线性布局,可以水平编排或者垂直编排孩子的显示 android:orientation="vertical" 设置方向 vertical 垂直 ( 沿着 y 坐标 ) horizontal 水平方向(沿着 x 坐标) 线性布局中可以使用 android:layout_weight 属性设置权重,可以将 LinearLayout 中剩下的部分进行比例划分 LinearLayout 中如果需要使用占位视图可以使用 Space
LinearLayout 中使用 android:gravity 可以调整孩子的对齐方式,但是要注意方向, 垂直的 ( 如果高不定 ) ,可以调整孩子在 left\centerhorizontal\right 如果是水平 ( 宽如果不定 ) 可以调整孩子在 top\centervertical\bottom
RelativeLayout:相对布局
第一种:子视图相对于父容器,取值为 true/false android:layout_alignParentLeft="true" 靠父容器左侧 android:layout_alignParentRight="true" 靠父容器右侧 android:layout_alignParentTop="true" 靠父容器顶部 android:layout_alignParentBottom="true" 靠父容器底部 android:layout_centerVertical="true" 垂直居中 android:layout_centerInParent="true" 居中 android:layout_centerHorizontal="true" 水平居中
第二种:子视图之间相互参考,值对方视图的 id --> @id/xxx,id的声明与使用要注意先后顺序 id 的声明: @+id/id 名称 如: @+id/tv_a id 的引用: @id/id 名称 如: @id/tv_a android:layout_toLeftOf 在谁的左侧 android:layout_toRightOf 在谁的右侧 android:layout_above 在谁的上面 android:layout_below 在谁的下面 android:layout_alignTop 顶部对齐 android:layout_alignLeft 左侧对齐 android:layout_alignRight 右侧对齐 android:layout_alignBottom 底部对齐
布局复用 如果有多个页面中存在相同部分效果,可以将相同部分抽出来,然后其他页面应用,提高复用性,其中引用需要使用include标签,用法 定义一个布局,如:titile.xml 在需要使用给title_layout的页面上直接用include导入
布局引入的合并标签
Java中操作布局元素 继承Activity 重写onCreate方法表示监听窗户的创建 super.onCreate(savedInstanceState); 表示窗口已经创建成功(空白窗口) setContentView(R.layout.activity_main) ;表示设置布局的方法,一般放在onCreate方法中 处理布局中的视图 TextView tvResult=findViewById(R.id.tv) ;表示从布局中加载视图对象的方法,一般要在setContentView之后使用 tvResult.setText / setTextColor / setTextSize ...
注意: java 中使用颜色值必须是十六进制表示法,如 xml 中的红色 #ff0000 对应的 java 表示为 0xff0000 ,并且 java 中建议使用 ARGB 方式表示法,如红色 (RGB 表示 )0xff0000 建议使用 (ARGB 表示 )0xffff0000
按钮----Button button继承TextView,可以响应用户按下状态的视图