layoutparams方法_LAYOUT

layoutparams方法_LAYOUT沙翁向昨天要经验;向今天要结果;向明天要动力Android开发:LayoutParams的用法LayoutParams继承于Android.View.ViewGroup.LayoutParams.    LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。假设在屏幕上一块区域是由一个Layout

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Android开发:LayoutParams的用法

LayoutParams继承于Android.View.ViewGroup.LayoutParams.
       LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中,最好告诉Layout用户期望的布局方式,也就是将一个认可的layoutParams传递进去。
       可以这样去形容LayoutParams,在象棋的棋盘上,每个棋子都占据一个位置,也就是每个棋子都有一个位置的信息,如这个棋子在4行4列,这里的“4行4列”就是棋子的LayoutParams。

       但LayoutParams类也只是简单的描述了宽高,宽和高都可以设置成三种值:
       1,一个确定的值;
       2,FILL_PARENT,即填满(和父容器一样大小);
       3,WRAP_CONTENT,即包裹住组件就好。

在JAVA中动态构建的布局,常常这样写:

setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));

上面这一句话其实是子对父的,也就是说,父布局下的子控件要设置这句话。

因为布局很多,虽然都继承至ViewGroup但是各个布局还是有很大的不同。

很显然上面这句应该这样写才算准确:

setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT,TableRow.LayoutParams.FILL_PARENT));

这表示这个子控件的父布局是一个TableRow , 这样的LayoutParams 太多,所以应明确指明。

 

下面分别说下两个常用到布局:

1. FrameLayout下动态设置子控件居中,动态用JAVA代码要这样实现:

FrameLayout.LayoutParams lytp = new FrameLayout.LayoutParams(80,LayoutParams.WRAP_CONTENT);
lytp .gravity = Gravity.CENTER;
btn.setLayoutParams(lytp);

2. RelativeLayout下动态设置子控件居中:

RelativeLayout.LayoutParams lp=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE); 
lp.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE); 
btn1.setLayoutParams(lp);


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190949.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • libzplay开发【播放音乐】笔记1

    库方面的配置网上都有/**libZPlayexample**Playtest.mp3tosoundcardoutput.**/#include”stdafx.h”#include#include#include#include”libzplay.h”usingnamespacelibZPlay;intmain(in

    2022年4月6日
    33
  • eclipse安装android_安卓studio怎么打包apk

    eclipse安装android_安卓studio怎么打包apkEclipseandroid开发更改apk名字有以下几步:第一步,修改工程包名在eclipse里,找到项目包和java包(原则上都一样),就可以按”F2″修改名字,随之,源.java也会得到相应的修改;然而每个.java文件都需要把如下图内容,再额外修改一下第二步,修改AndroidManifest.xml文件AndroidManifest.xml里的内容是android工程的相关配置文件。工程文件的解析具体可参考:某鸟教程.第三步,修改Strings.xml文件然后是…

    2022年10月5日
    1
  • CentOS镜像下载&安装配置&Linux常用命令[通俗易懂]

    CentOS镜像下载&安装配置&Linux常用命令[通俗易懂]目录1.linuxcentos7镜像下载2.创建虚拟机3.正式安装CentOS74.远程工具Xshell的使用5.更换国内源6.运行yum命令出现“Existinglock/var/run/yum.pid:anothercopyisrunningaspid…”解决方法​7.Linux常用命令1.linuxcentos7镜像下载下载地址:http://mirrors.aliyun.com/centos/7/isos/x8…

    2022年5月9日
    95
  • 怎么安装pandas库_python第三方库pandas

    怎么安装pandas库_python第三方库pandas问题现象:PyCharm中运行程序,报错,提示“ModuleNotFoundError:Nomodulenamed’pandas’”第一种方法:1.电脑WIN+R,输入cmd,输入pipinstallpandas,等待下载完成即可。2.如果有以下提示,说明pip的版本可能不一致,需要解决冲突。想更新pip,输入pipinstall–upgradepip,报错,提示“Nomodulenamedpip”3.解决方法,输入python-mensu

    2022年8月29日
    1
  • 硬件资料和软件资料_电脑硬件检测工具哪个好

    硬件资料和软件资料_电脑硬件检测工具哪个好一些常用的资料_硬件/系统/等标题前数字代表专题所在楼层数2. BIOS报警声意义3. BIOS自检与开机故障相关问题5. 计算机几个常见指标的意义6. 显卡GPU参数7. 显示卡常见故障全面解决8. 集成声卡常见故障及解决9. 显示器经典故障以及处理办法10. AMI主板代码大全(BIOS-ID)12. AWARD主板代码大全(BIOS-ID)16. 黑屏故障17. WindowsX

    2022年10月20日
    0
  • mysql8.0.26安装及配置超详细教程(ps怎么下载安装详细步骤图)

    文章目录:官网下载MySQL的安装包添加并配置my.ini文件配置系统变量并初始化MySQL安装并启动MySQLNavicat连接MySQL并修其密码安装过程中常见问题及其解决方法官网下载MySQL的安装包下载链接如下:MySQL8.0.20版本其他版本:MySQL8.0.16版本MySQL8.0.20版本压缩包解压后如下图所示:添加并配置my.ini文件在原解压根…

    2022年4月13日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号