我有一些未知数量的TextView元素,一些EditText元素等等,都放在一个线性布局中...我想在运行时计算布局的高度,这样我就可以得到确切的大小不同分辨率屏幕的像素。一些编辑框可以包含更多文本,然后其他编辑框,因此它们的大小将更大... 是否有可能在运行时计算布局的大小?
由于
答案 0 :(得分:3)
要获得布局高度,必须在onWindowFocusChanged()方法中编写代码。
首先在onCreate()
方法中获取布局,然后编写以下代码。
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
System.out.println("...111Height..."+mainLayout.getMeasuredHeight());
}
由于 迪帕克
答案 1 :(得分:0)
您可以通过提供以下内容来获取视图的当前宽度:
String s = tv.getText().toString(); //tv is my textview name
float currentWidth = tv.getPaint().measureText(s);
要获得手机密度,请提供:
float phoneDensity = this.getResources().getDisplayMetrics().density;
执行currentWidth * phoneDensity
时,您可以根据设备获得宽度。