Android XML 布局基础(三)LayoutParams 布局参数

简介: Android XML 布局基础(三)LayoutParams 布局参数

一、简介

二、xml代码 写法

  • layout_xxx 布局属性:
<TextView
    android:layout_width="100dp"
    android:layout_height="200dp"
    android:layout_marginLeft="50dp"
    android:layout_marginTop="10dp"
    android:text="Hello world!"
    android:textSize="10sp" />
  • ViewGroup 类会实现一个扩展 ViewGroup.Layoutparams 的嵌套类,里面包含一些设置视图 view 的尺寸和位置的属性。
// 创建视图
TextView tv = new TextView(this);
// 创建布局模块(可以认为它才是根视图,只有在它身上才能生效布局参数)
LinearLayout layout = new LinearLayout(this);
// 获取视图中的布局参数对象
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)tv.getLayoutParams();
// 配置布局属性
params.leftMargin = 30; // 左边距
params.topMargin = 30;  // 上边距
params.width = 100;     // 宽
params.height = 200;    // 高
// 将配置好的布局参数设置到视图中
tv.setLayoutParams(params);
// 将视图模块添加到布局模块中
layout.addView(tv);

三、属性

  • 一般而言,建议不要使用绝对单位(如像素 px)来指定布局宽度和高度,最好是使用相对测量单位(如与密度无关的像素单位 dpwrap_contentmatch_parent),有利于确保应用在各类尺寸的设备屏幕上正确显示。
  • wrap_content:视图将其大小调整为内容所需要的尺寸。
  • match_parent:视图尽可能采用其父视图组所允许的最大尺寸。

四、案例

  • xml 布局代码
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <!-- 由于最外层不是 Layout,则这里为根布局 -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ffc">
        <!-- 再添加一个内部视图布局 -->
        <LinearLayout
            android:layout_marginTop="200dp"
            android:layout_marginLeft="70dp"
            android:layout_width="300dp"
            android:layout_height="300dp"
            android:background="#fcf">
            <!-- 添加视图组件 -->
            <TextView
                android:id="@+id/dzm"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="200dp"
                android:text="DZM TEST"
                android:textSize="20sp" />
        </LinearLayout>
    </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
  • 效果


相关文章
|
1月前
|
XML 编解码 搜索推荐
XML 布局小技巧
【10月更文挑战第24天】通过掌握这些 XML 布局小技巧,我们可以更轻松地设计出高质量的用户界面,提升用户体验。在实际应用中,要根据具体项目的需求和特点,灵活运用这些技巧,不断探索和创新,打造出独具特色的界面布局。
63 1
|
2月前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
|
4月前
|
移动开发 监控 前端开发
构建高效Android应用:从优化布局到提升性能
【7月更文挑战第60天】在移动开发领域,一个流畅且响应迅速的应用程序是用户留存的关键。针对Android平台,开发者面临的挑战包括多样化的设备兼容性和性能优化。本文将深入探讨如何通过改进布局设计、内存管理和多线程处理来构建高效的Android应用。我们将剖析布局优化的细节,并讨论最新的Android性能提升策略,以帮助开发者创建更快速、更流畅的用户体验。
73 10
|
2月前
|
Java Shell Linux
从 am start 的 --user 参数说到 Android 多用户
am start 命令有时并不会乖乖如我们所愿,这时候我们需要知对策并知其所以然。
60 16
|
2月前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
170 0
|
4月前
|
编解码 Android开发
【Android Studio】使用UI工具绘制,ConstraintLayout 限制性布局,快速上手
本文介绍了Android Studio中使用ConstraintLayout布局的方法,通过创建布局文件、设置控件约束等步骤,快速上手UI设计,并提供了一个TV Launcher界面布局的绘制示例。
74 1
|
4月前
|
存储 Java 数据库
基于全志H713 Android 11:给TvSettings添加default.xml默认值
本文介绍了在全志H713 Android 11平台上为TvSettings应用添加HDMI CEC功能的默认设置值的方法,通过修改SettingsProvider的源码和配置文件来实现默认值的设置,并提供了详细的步骤和测试结果。
109 0
基于全志H713 Android 11:给TvSettings添加default.xml默认值
|
4月前
|
XML Java 数据库
Spring5入门到实战------15、事务操作---概念--场景---声明式事务管理---事务参数--注解方式---xml方式
这篇文章是Spring5框架的实战教程,详细介绍了事务的概念、ACID特性、事务操作的场景,并通过实际的银行转账示例,演示了Spring框架中声明式事务管理的实现,包括使用注解和XML配置两种方式,以及如何配置事务参数来控制事务的行为。
Spring5入门到实战------15、事务操作---概念--场景---声明式事务管理---事务参数--注解方式---xml方式
|
4月前
|
XML Android开发 UED
"掌握安卓开发新境界:深度解析AndroidManifest.xml中的Intent-filter配置,让你的App轻松响应scheme_url,开启无限交互可能!"
【8月更文挑战第2天】在安卓开发中,scheme_url 通过在`AndroidManifest.xml`中配置`Intent-filter`,使应用能响应特定URL启动或执行操作。基本配置下,应用可通过定义特定URL模式的`Intent-filter`响应相应链接。
125 12
|
4月前
|
Shell Android开发
安卓scheme_url调端:在AndroidManifest.xml 中如何配置 Intent-filter?
为了使Android应用响应vivo和oppo浏览器的Deep Link或自定义scheme调用,需在`AndroidManifest.xml`中配置`intent-filter`。定义启动的Activity及其支持的scheme和host,并确保Activity可由外部应用启动。示例展示了如何配置HTTP/HTTPS及自定义scheme,以及如何通过浏览器和adb命令进行测试,确保配置正确无误。