private int mMonitorHeight = 0;
private int mMonitorWidth = 0;
private boolean  bisSetScreen = false;

动态设置满屏宽度

ViewTreeObserver vto2 = monitor.getViewTreeObserver();
vto2.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener(){@Overridepublic void onGlobalLayout(){if(bisSetScreen == false){mMonitorHeight = monitor.getMeasuredHeight();mMonitorWidth = monitor.getWidth();if(mMonitorHeight != 0 && mMonitorWidth != 0){monitor.setScreenSize(mMonitorWidth, mMonitorHeight);bisSetScreen = true;}}}
});
LinearLayout.LayoutParams linearParams =(LinearLayout.LayoutParams) TextView.getLayoutParams(); //取控件textView当前的布局参数linearParams.width = 40;// 控件的宽强制设成30
linearParams.height =40;// 控件的高强制设成20TextView.setLayoutParams(linearParams);
/*** 重设 view 的宽高*/
public static void setViewLayoutParams(View view, int nWidth, int nHeight) {ViewGroup.LayoutParams lp = view.getLayoutParams();if (lp.height != nHeight || lp.width != nWidth) {lp.width = nWidth;lp.height = nHeight;view.setLayoutParams(lp);}
}

自动属性长度

ViewGroup.LayoutParams.WRAP_CONTENT
ViewGroup.LayoutParams.MATCH_PARENT

控件的边距

RelativeLayout.LayoutParams linearParams2 =(RelativeLayout.LayoutParams) top2.getLayoutParams(); //取控件textView当前的布局参数
linearParams2.topMargin =450;// 控件的边距
top2.setLayoutParams(linearParams2);

动态设置列表高度

LinearLayout.LayoutParams linearParams =(LinearLayout.LayoutParams) activityOneRecyclerView.getLayoutParams(); //取控件textView当前的布局参数
linearParams.height = UIUtils.dip2px(98)*6;//98是item高度。6是item数量

工具方法:

/*** 将dip或dp值转换为px值,保证尺寸大小不变*/
public static int dip2px(Context context, float dipValue) {final float scale = context.getResources().getDisplayMetrics().density;return (int) (dipValue * scale + 0.5f);
}

android 动态设置View的高度和宽度,ViewTreeObserver使用相关推荐

  1. Android——动态设置view背景颜色setBackgroundColor

    setBackgroundColor 用于动态设置view背景颜色 今天写代码的时候遇到个小问题 动态设置的时候用Color.GRAY,系统自己带着的颜色,是没有问题的 但是用自己定义的颜色,就不生效 ...

  2. 动态设置View的宽高、宽高比例(设置ViewPager的高度,宽高比例为2:1)

    利用ViewPager显示banner的时候,一些人会直接写死ViewPager高度,比如在xml布局里面直接写成180dp. 这样的话,每个手机的宽度不同,viewpager里面内容的长宽比就不同, ...

  3. 【Android】动态设置 View 的背景颜色 BackgroundColor 无效的问题

    问题描述 我们都知道 setBackgroundColor() 方法用于动态设置 view 的背景颜色.今天在做需求的时候,需要根据情况动态更新自定义 view 的背景颜色,于是就想当然的这么写: m ...

  4. android 动态设置padding,Android动态设置控件大小以及设定margin以及padding值

    http://www.aichengxu.com/Java/73893.htm Android动态设置控件大小以及设定margin以及padding值,有需要的朋友可以参考下. 一.概述 在andro ...

  5. android 动态改变语言,android动态设置app当前运行语言的方法

    android开发中有时候碰到切换语言的需求,这时候需要通过代码动态改变当前运行语言. package com.example.androidtest; import java.util.Locale ...

  6. 动态设置view或布局的宽高

    代码中动态设置view或布局的宽高   标签: 图片/ 动态改变/ 宽高 有时我们需要在应用中动态改变图片或某一块布局的大小.这就不能用XML文件写成固定值,而需要在java代码中动态设置.效果如下: ...

  7. Android 动态设置宽高

    Android 动态设置宽高 val params: FrameLayout.LayoutParams = view?.layoutParams as FrameLayout.LayoutParams ...

  8. 为什么有时动态设置 View 的背景颜色 BackgroundColor 无效?

    项目场景: 为什么有时动态设置 View 的背景颜色 BackgroundColor 无效,不少新手是不是遇到过这个问题呢 问题描述: 前几天朋友问了我一个问题,他直接在activity里动态设置 V ...

  9. android textview layoutparams,Android动态设置布局的LayoutParams属性总遇到造型异常

    Android动态设置布局的setLayoutParams()属性总遇到造型异常问题 android:id="@+id/introduce" android:layout_widt ...

最新文章

  1. IOS工作笔记(五)
  2. 设置释放COCOS2D-X 的启动流程
  3. 计算机教育应用3t模式,[信息技术教育应用作业.doc
  4. include_fns.php_一步一步教你用PHP+MySql筹建网站 No.3 管理页面_mysql
  5. java http服务端例子_简单的用 Java Socket 编写的 HTTP 服务器应用
  6. 笔记:less的三种使用方法
  7. 家用工具套装_家居工具一:成为家居维修达人,你可能就差这个:史丹利45件套家用工具箱套装...
  8. eclipse maven项目 class类部署不到tomcat下_maven发布项目到远程tomcat
  9. 一天一个小算法的学习之选择排序
  10. linux 文件乱码_RedHatlinux系统虚机启动后/etc/fstab中的文件系统未能挂载上
  11. VBA读取固定文件夹中txt内容
  12. oracle数据库SQL防止超长,SQL Server和Oracle防止数据锁定的比较
  13. java simpedateformat_java中Date,SimpleDateFormat
  14. linux桥接wifi与有线,两个路由器有线桥接好还是无线桥接好?
  15. 一键激活windows系统与office(绿色无捆绑装机员激活工具)
  16. LINUX 无法输入密码 或者数字键不能使用
  17. java 实现电子签名_Java实现数字签名
  18. zip和tgz以及exe的区别
  19. opencv打开摄像头失败的一种可能cv2.error: Unknown C++ exception from OpenCV code
  20. 羊皮卷的故事-第一章

热门文章

  1. [css] 使用css将图片转换成黑白的效果
  2. 前端学习(2465):ajax发送请求
  3. 前端学习(2166):vuecli3之什么是路由和其中映射关系
  4. 前端学习(1291):nodejs的系统模块文件读取操作
  5. spring mvc学习(44):springMVC运行原理
  6. 第六十七期:全球500强公司的2100万登录信息惊现于暗网上!
  7. EC20模组使用MQTT库对接EMQX,基于STM32F407
  8. channelsftp的put_java实现sftp客户端上传文件以及文件夹的功能代码
  9. 读书印记 - 《混乱:如何成为失控时代的掌控者》
  10. 转录组差异表达分析工具Ballgown