myq_26 2012-10-22 06:51 采纳率: 16.7%
浏览 2059
已采纳

检索视图的规模尺寸问题

我有一个视图由tablelayout、tablrows和textviews组成。看起来像一个网格。我需要得到这个网格的高度和宽度。当我动态的格式化网格或使用xml版本时,方法getheight() and getwidth()总是返回0。
谁能告诉我如何检索一个试图的尺寸规模?
以下是我在Debug的测试程序:

    import android.app.Activity; 
    import android.os.Bundle; 
    import android.widget.TableLayout; 
    import android.widget.TextView; 

    public class appwig extends Activity {   
        @Override 
        public void onCreate(Bundle savedInstanceState) { 
          super.onCreate(savedInstanceState); 
          setContentView(R.layout.maindemo);  
          int vh = 0;    
          int vw = 0; 

          TableLayout tl = (TableLayout) findViewById(R.id.board);   
          tl = (TableLayout) findViewById(R.id.board); 
          vh = tl.getHeight();       
          vw = tl.getWidth();       

          TextView tv = new TextView(this); 
          tv.setHeight(20); 
          tv.setWidth(20); 
          vh = tv.getHeight();       
          vw = tv.getWidth();    
        } 
} 
  • 写回答

2条回答 默认 最新

  • znl_12 2012-10-25 09:38
    关注

    把这些代码添加到onCreate()方法:

    final TextView tv = (TextView)findViewById(R.id.image_test);
        ViewTreeObserver vto = tv.getViewTreeObserver();
        vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
    
            @Override
            public void onGlobalLayout() {
                LayerDrawable ld = (LayerDrawable)tv.getBackground();
                ld.setLayerInset(1, 0, tv.getHeight() / 2, 0, 0);
                ViewTreeObserver obs = tv.getViewTreeObserver();
                obs.removeGlobalOnLayoutListener(this);
            }
    
        });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器