1.第一种方式:

TextView textview3 = findViewById(R.id.textview3);
textView3.post(new Runnable() {
@Override
public void run () {
int width = textView3.getWidth();
ViewGroup.LayoutParams layoutParams = button2.getLayoutParams();
layoutParams.width = width;
button2.setLayoutParams(layoutParams);
}
});

view的post方法,runnable对象中的方法会在View的measure、layout等事件后触发UI事件队列会按顺序处理事件。在setContentView()被调用后,事件队列中会包含一个要求重新layout的message,所以任何你post到队列中的东西都会在Layout发生变化后执行。

activity中先这行oncreate,然后才是第一次调用onmeasure,

2.第二种方式,同过treeobserve

firstTxt = (TextView) findViewById(R.id.hello_word_txt);
ViewTreeObserver viewTreeObserver = firstTxt.getViewTreeObserver();
viewTreeObserver.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
int height = firstTxt.getHeight();
int width = firstTxt.getWidth();
Log.v("获取TextView宽高", "宽度:" + width + ",高度:" + height);
return true;
}
});

最新文章

  1. java接口调用——webservice就是一个RPC而已
  2. PHP面向对象06_异常处理
  3. HTML5和css3的总结二
  4. Hibernate对象映射类型
  5. BeanUtils.copyProperties() 用法--部分转
  6. SpringMVC08转发和重定向
  7. log4j 将日志记录到数据库
  8. dedecms利用memberlist标签调用自定义会员模型的会员信息
  9. 【swift】ios中生成二维码
  10. php session序列化攻击面浅析
  11. Easyui 修改|新增jquery-easyui icon图标
  12. 【NOIP2013模拟】终极武器(经典分析+二分区间)
  13. centos 7安装mysql 执行./scripts/mysql_install_db --user=mysql 报错 FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db: Data::Dumper
  14. shell脚本--分支、条件判断
  15. Java方法、构造方法的重载;创建对象;调用方法
  16. BZOJ2178: 圆的面积并(格林公式)
  17. odoo 打印单
  18. Graph-BFS-Fly-图的广度优先遍历-最小转机问题
  19. BZOJ 2333 【SCOI2011】 棘手的操作
  20. C#入门笔记2 变量

热门文章

  1. Head First Java & 异常
  2. MaxAlertView 强大的弹框试图
  3. #Leetcode# 817. Linked List Components
  4. GDI+ 支持的图片文件格式
  5. 在Delphi中通过OLE方式写Excel文件
  6. 使用 Vagrant 打造跨平台开发环境fffff
  7. Flexpod的开关机顺序
  8. Python中pip install MySQL-python报错解决方法
  9. 对final和static的理解
  10. laravel运行慢是怎么回事?