Android笔记:测量控件宽高和动态设置控件宽高

简介:

1.测算控件宽高

 初始化UI时,无法直接通过getWidth()或getHeight()获取到控件的宽度或高度。可采用定时测算去获取控件的宽度/高度,方法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//每隔10毫秒测算一次宽度,直到测算完毕
mMeasureAction =  new  Runnable()
{
     @Override
     public  void  run()
     {
         if  (mLayout_map.getWidth() !=  0 )
         {
             Log.i( "w" , mLayout_map.getWidth() +  "" );
             Log.i( "h" , mLayout_map.getHeight() +  "" );
        }
         else
         {
             mLayout_map.postDelayed(mMeasureAction,  10 );
         }
     }
};
mLayout_map.postDelayed(mMeasureAction,  10 );


参考资料:http://blog.163.com/zhaolin53636848@126/blog/static/490866682012065373798/



2.动态修改控件的宽高

  比如,将imageview的宽度改为200,高度改为宽度的3/4。其中RelativeLayout是imageview的父布局,方法如下:

1
import  android.widget.RelativeLayout.LayoutParams;


1
2
3
4
5
6
int  imgWeight =  200 ;
RelativeLayout.LayoutParams sp_params =  new  RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
sp_params.width = imgWeight;
sp_params.height = imgWeight *  3  / 4  ;
imageView.setLayoutParams(sp_params);





本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1358564,如需转载请自行联系原作者

目录
相关文章
|
6天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
2月前
|
监控 安全 Android开发
【新手必读】Airtest测试Android手机常见的设置问题
【新手必读】Airtest测试Android手机常见的设置问题
|
4天前
|
存储 Java Android开发
Android系统 设置第三方应用为默认Launcher实现和原理分析
Android系统 设置第三方应用为默认Launcher实现和原理分析
18 0
|
4天前
|
存储 Java API
Android系统 文件访问权限笔记
Android系统 文件访问权限笔记
35 1
|
4天前
|
Shell Android开发 开发者
Android系统 自定义动态修改init.custom.rc
Android系统 自定义动态修改init.custom.rc
23 0
|
4天前
|
测试技术 Android开发 开发者
RK3568 Android系统客制化动态替换ro任意属性
RK3568 Android系统客制化动态替换ro任意属性
24 1
|
4天前
|
存储 Linux Android开发
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
20 0
|
5天前
|
Android开发
Android RIL 动态切换 4G 模块适配
Android RIL 动态切换 4G 模块适配
9 0
|
5天前
|
Android开发
Android 动态修改参数配置
Android 动态修改参数配置
11 0
|
13天前
|
安全 Android开发 数据安全/隐私保护
Android中的动态权限请求与最佳实践
【4月更文挑战第14天】 在现代安卓应用开发中,用户隐私和安全被赋予了前所未有的重要性。随着Android 6.0(API级别23)引入的运行时权限模型,开发者必须更加细致地处理权限请求,以确保应用功能的完整性同时不侵犯用户的隐私。本文将深入探讨如何在Android应用中实现动态权限请求,分析常见问题,并提供一系列最佳实践,以帮助开发者优雅地处理这一挑战。
21 5