关闭

android得到控件的高度

259人阅读 评论(0) 收藏 举报
分类:
1、


要想在主线程里访问网络阻塞式的:用StrictMod

2 、在android程序里要想得到一些March_parent 、fill。。。这些的高度,如果在Oncreate里去getHeight(); getMea..Height()这是肯定得不到的;第一个会得到0;第二个得到比如是TextView的话就会得到你的字体的大小加一点点上下间距;要想得到这种数据的高度,你必须等到他画完才能得到 ,即实现 监听:

1)、ViewTreeObserver vto = imageView.getViewTreeObserver();
     vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
         public boolean onPreDraw() {
          vto.removeOnPreDrawListener(this);
             int height = imageView.getMeasuredHeight();
             int width = imageView.getMeasuredWidth();
             return true;
         }
     });

2、ViewTreeObserver vto = imageView.getViewTreeObserver();  
  vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
      @Override  
      public void onGlobalLayout() {
          imageView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
          imageView.getHeight();
          imageView.getWidth();
      }  
  }); 

当然你也可以选择最简单的方式 就是设置高度为死的值,这样就直接在Oncreate里能过GetHeight()就能获得了;

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9755次
    • 积分:433
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:10篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论