一位不愿意透漏姓名的胡英杰先生 2019-03-31 15:47 采纳率: 60%
浏览 409
已采纳

安卓取控件宽高,带不出方法

public class MainActivity extends AppCompatActivity {
    private TextView tv;
    int w,h;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv = findViewById(R.id.tv);
        tv.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                h = tv.getMeasuredHeight();
                w = tv.getMeasuredWidth();
                tv.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                Log.d("tagggli", String.valueOf(h) + "***" + String.valueOf(w));
            }
        });
  ![图片说明](https://img-ask.csdn.net/upload/201903/31/1554018380_214098.png)
      Log.d("tagggwai", String.valueOf(w) + "***" + String.valueOf(h));
    }
}

我想在27行用这个数值,应该怎么做

  • 写回答

2条回答 默认 最新

  • yuan7016 2019-04-01 11:00
    关注

    你把 Log.d("tagggli", String.valueOf(h) + "***" + String.valueOf(w)); 写在tv.getViewTreeObserver().removeOnGlobalLayoutListener(this); 上面试试 或者使用tv.post(new Runnable() {
    @Override
    public void run() {
    //获取宽高
    }
    });

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据