当前位置: 首页 > backend >正文

Android开发——不同布局的定位属性 与 通用属性

目录

      • 不同布局的定位属性
        • 1. 线性布局(LinearLayout)
        • 2. 相对布局(RelativeLayout)
        • 3. 约束布局(ConstraintLayout)
        • 4. 表格布局(TableLayout)
        • 5. 网格布局(GridLayout)
        • 6. 帧布局(FrameLayout)
        • 7. 坐标布局(AbsoluteLayout)
        • 8. 滚动布局(ScrollView)
        • 9. 水平滚动布局(HorizontalScrollView)
        • 总结
      • 通用属性
        • 1. 尺寸相关属性
        • 2. 边距和内边距
        • 3. 可见性
        • 4. 背景
        • 5. 点击事件
        • 6. 文本相关
        • 7. 重用和样式
        • 8. 交互相关
        • 9. 其他

不同布局的定位属性

在Android开发中,布局是构建用户界面的基础。以下是一些常用的布局类型及其必须掌握的属性:

1. 线性布局(LinearLayout)
  • 用途:将子视图以水平或垂直方向排列。
  • 必须掌握的属性
    • android:orientation:指定子视图的排列方向,可选值为horizontal(水平)或vertical(垂直)。
    • android:layout_weight:用于分配子视图在布局中的权重,常用于按比例分配空间。
    • android:layout_widthandroid:layout_height:指定布局的宽高,可选值为match_parent(填满父布局)、wrap_content(包裹内容)或具体数值(如100dp)。
2. 相对布局(RelativeLayout)
  • 用途:子视图可以根据相对位置进行布局,例如相对于父布局或其他视图。
  • 必须掌握的属性
    • android:layout_alignParentTopandroid:layout_alignParentBottomandroid:layout_alignParentLeftandroid:layout_alignParentRight:用于将视图对齐到父布局的边缘。
    • android:layout_aboveandroid:layout_belowandroid:layout_toLeftOfandroid:layout_toRightOf:用于指定视图相对于其他视图的位置。
    • android:layout_widthandroid:layout_height:指定布局的宽高。
3. 约束布局(ConstraintLayout)
  • 用途:非常灵活的布局方式,允许通过约束(Constraint)来定义视图之间的关系。
  • 必须掌握的属性
    • android:layout_constraintTop_toTopOfandroid:layout_constraintBottom_toBottomOfandroid:layout_constraintLeft_toLeftOfandroid:layout_constraintRight_toRightOf:用于将视图的边缘与父布局或其他视图的边缘对齐。
    • android:layout_widthandroid:layout_height:指定布局的宽高。
    • app:layout_constraintDimensionRatio:用于设置宽高比。
4. 表格布局(TableLayout)
  • 用途:以表格形式排列子视图,通常用于创建表单或类似表格的布局。
  • 必须掌握的属性
    • android:layout_widthandroid:layout_height:指定布局的宽高。
    • android:stretchColumns:指定哪些列可以拉伸以填满剩余空间。
    • android:shrinkColumns:指定哪些列可以缩小以适应布局。
5. 网格布局(GridLayout)
  • 用途:以网格形式排列子视图,支持行列和对齐方式的灵活配置。
  • 必须掌握的属性
    • android:columnCountandroid:rowCount:指定网格的列数和行数。
    • android:layout_widthandroid:layout_height:指定布局的宽高。
    • android:layout_columnandroid:layout_row:指定子视图所在的列和行。
6. 帧布局(FrameLayout)
  • 用途:子视图会堆叠在一起,默认情况下,第一个添加的视图位于底部,后续视图依次堆叠在上面。
  • 必须掌握的属性
    • android:layout_widthandroid:layout_height:指定布局的宽高。
    • android:foreground:可以设置一个前景视图,覆盖在所有子视图上。
7. 坐标布局(AbsoluteLayout)
  • 用途:通过绝对坐标定位子视图,较少使用,因为这种方式在不同屏幕尺寸上难以适配。
  • 必须掌握的属性
    • android:layout_xandroid:layout_y:指定子视图的绝对坐标位置。
    • android:layout_widthandroid:layout_height:指定布局的宽高。
8. 滚动布局(ScrollView)
  • 用途:当内容超出屏幕范围时,允许用户通过滚动查看完整内容。
  • 必须掌握的属性
    • android:layout_widthandroid:layout_height:指定布局的宽高。
    • android:fillViewport:当设置为true时,如果子视图的高度小于滚动视图的高度,子视图会自动拉伸填满整个滚动视图。
9. 水平滚动布局(HorizontalScrollView)
  • 用途:允许用户水平滚动查看内容。
  • 必须掌握的属性
    • android:layout_widthandroid:layout_height:指定布局的宽高。
    • android:fillViewport:与ScrollView类似,用于控制子视图的填充行为。
总结
  • android:layout_widthandroid:layout_height:几乎所有布局和视图都需要设置宽高属性。
  • 权重(android:layout_weight:在LinearLayout中用于按比例分配空间。
  • 约束和对齐属性:在RelativeLayoutConstraintLayout中用于定义视图之间的位置关系。
  • 行列属性:在TableLayoutGridLayout中用于定义表格和网格的布局方式。

通用属性

在Android开发中,除了布局特定的属性外,还有一些通用属性可以应用于大多数视图(View)和布局(Layout)。这些通用属性在构建用户界面时非常有用,能够帮助开发者控制视图的外观、行为和交互。以下是一些常用的通用属性:

1. 尺寸相关属性
  • android:layout_widthandroid:layout_height

    • 用途:设置视图的宽度和高度。
    • 常用值
      • wrap_content:视图的大小会根据其内容自动调整。
      • match_parent:视图的大小会填满父布局。
      • 具体数值(如100dp50sp):指定固定的宽度或高度。
    • 示例
      <TextViewandroid:layout_width="wrap_content"android:layout_height="match_parent" />
      
  • android:minWidthandroid:minHeight

    • 用途:设置视图的最小宽度和高度,即使内容不足以填满该尺寸,视图也不会缩小。
    • 示例
      <Buttonandroid:minWidth="100dp"android:minHeight="50dp" />
      
2. 边距和内边距
  • android:layout_margin

    • 用途:设置视图与父布局或其他视图之间的外边距。
    • 常用值
      • android:layout_marginTop
      • android:layout_marginBottom
      • android:layout_marginLeft
      • android:layout_marginRight
      • android:layout_marginStart
      • android:layout_marginEnd
    • 示例
      <TextViewandroid:layout_marginTop="10dp"android:layout_marginBottom="5dp"android:layout_marginStart="15dp"android:layout_marginEnd="15dp" />
      
  • android:padding

    • 用途:设置视图内部内容与边界的间距。
    • 常用值
      • android:paddingTop
      • android:paddingBottom
      • android:paddingLeft
      • android:paddingRight
      • android:paddingStart
      • android:paddingEnd
    • 示例
      <TextViewandroid:padding="10dp"android:paddingTop="5dp"android:paddingBottom="5dp" />
      
3. 可见性
  • android:visibility
    • 用途:控制视图的可见性。
    • 常用值
      • visible:视图可见。
      • invisible:视图不可见,但仍占据空间。
      • gone:视图不可见,且不占据空间。
    • 示例
      <TextViewandroid:visibility="gone" />
      
4. 背景
  • android:background
    • 用途:设置视图的背景颜色或背景图片。
    • 常用值
      • 颜色值(如#FF0000@color/red
      • 图片资源(如@drawable/image
    • 示例
      <TextViewandroid:background="#FF0000" />
      
5. 点击事件
  • android:clickable

    • 用途:设置视图是否可以点击。
    • 常用值
      • true:可点击。
      • false:不可点击。
    • 示例
      <TextViewandroid:clickable="true" />
      
  • android:onClick

    • 用途:指定点击事件的处理方法。
    • 示例
      <TextViewandroid:onClick="onTextViewClicked" />
      
6. 文本相关
  • android:text

    • 用途:设置文本内容。
    • 示例
      <TextViewandroid:text="Hello, World!" />
      
  • android:textSize

    • 用途:设置文本大小。
    • 常用单位
      • sp(缩放像素,适合文本大小)
      • dp(密度无关像素)
    • 示例
      <TextViewandroid:textSize="18sp" />
      
  • android:textColor

    • 用途:设置文本颜色。
    • 示例
      <TextViewandroid:textColor="#00FF00" />
      
7. 重用和样式
  • android:theme

    • 用途:为视图设置主题。
    • 示例
      <TextViewandroid:theme="@style/MyTheme" />
      
  • style

    • 用途:为视图设置样式。
    • 示例
      <TextViewstyle="@style/MyTextViewStyle" />
      
8. 交互相关
  • android:focusable

    • 用途:设置视图是否可以获取焦点。
    • 常用值
      • true:可以获取焦点。
      • false:不能获取焦点。
    • 示例
      <TextViewandroid:focusable="true" />
      
  • android:enabled

    • 用途:设置视图是否启用。
    • 常用值
      • true:启用。
      • false:禁用。
    • 示例
      <Buttonandroid:enabled="false" />
      
9. 其他
  • android:id

    • 用途:为视图设置唯一标识符,方便在代码中引用。
    • 示例
      <TextViewandroid:id="@+id/myTextView" />
      
  • android:contentDescription

    • 用途:为视图设置内容描述,用于无障碍功能。
    • 示例
      <TextViewandroid:contentDescription="This is a text view" />
      
http://www.xdnf.cn/news/7816.html

相关文章:

  • 大数据量查询优化:解锁SQL性能提升的关键
  • Node.js多版本安装工具NVM详细使用教程
  • VsCode开发环境之Node.js离线部署
  • JS 应用安全案例泄漏云配置接口调试代码逻辑框架漏洞自检
  • 华为鸿蒙电脑发布,折叠屏怎么选?
  • 实现动态增QuartzJob,通过自定义注解调用相应方法
  • OpenCV CUDA模块特征检测与描述------一种基于快速特征点检测和旋转不变的二进制描述符类cv::cuda::ORB
  • WPF核心类继承树结构
  • 学习路之uniapp--unipush2.0推送功能--服务端推送消息
  • Java安全-Servlet内存马
  • 基于多传感器融合的智能驾驶环境感知系统
  • 【java第19集】java面向对象编程详解
  • MyBatis:简化数据库操作的持久层框架
  • 高噪声下扩展边缘检测算子对检测边缘的影响
  • windows powershell 判断 进程号是否存在
  • 无人机桥梁巡检
  • linux文件重命名命令
  • MIL-C-5015航空插头2芯震动加速度传感器连接器
  • 五、【API 开发篇(下)】:使用 Django REST Framework构建测试用例模型的 CRUD API
  • 云原生安全之PaaS:从基础到实践的技术指南
  • 谈谈 Kotlin 中的构造方法,有哪些注意事项?
  • 【Django系统】Python+Django携程酒店评论情感分析系统
  • 【Java微服务组件】异步通信P2—Kafka与消息
  • [杂学笔记]浏览器多进程与多线程架构、wstring类型、哈希表、红黑树与哈希表的对比、C++标准库Random类
  • 影响镍钯金PCB表面处理价格的因素有哪些?
  • Spring事务简单操作
  • 【低代码】如何使用明道云调用 Flask 视图函数并传参(POST 方法实践)
  • vue-cli 构建打包优化(JeecgBoot-Vue2 配置优化篇)
  • Hadoop-HA高可用集群启动nameNode莫名挂掉,排错解决
  • digitalworld.local: FALL靶场