上有许多编辑文本

,
它是我使用RelativeLayout动态创建的(在XML中定义)。第一个编辑文本也是在XML中定义的,其他编辑文本是基于第一个编辑文本创建的。问题是,正如你所看到的,最后编辑的文本正在改变其高度,这与其他文本不同,但是我如何检查它呢?如何获得此编辑文本的高度并将其添加到屏幕上的下一行?
发布于 2017-04-22 01:30:23
您可以尝试这样动态获取大小:
getMeasuredHeight():请在谷歌上搜索更多信息。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EditText ed = (EditText) findViewById(R.id.edit1);
ed.setTextSize(20);
ed.setText("here stackoverflow");
ed.measure(0, 0);
int height = edit.getMeasuredHeight();由于这个原因,我通常使用它,请仔细阅读,它会在将来对你有所帮助:
视图的大小用宽度和高度表示。一个视图实际上有两对宽度和高度值。
第一对被称为测量的宽度和测量的高度。这些尺寸定义了视图在其父视图中的大小(有关详细信息,请参阅布局)。测量的尺寸可以通过调用getMeasuredWidth()和getMeasuredHeight()来获得。
第二对简单地称为宽度和高度,或者有时称为绘制宽度和绘制高度。这些尺寸定义了绘制时和布局后屏幕上视图的实际大小。这些值可能不同于测得的宽度和高度,但不必不同。宽度和高度可以通过调用getWidth()和getHeight()来获取。
发布于 2017-04-22 01:25:03
你可以试试这样的东西..
EditText editText = (EditText) findViewById(R.id.your_view_id);
int height = editText.getHeight(); // This will give height
EditText editTextLast = (EditText) findViewById(R.id.your_view_id);
editTextLast.setHeight(height); // this will set the heighthttps://stackoverflow.com/questions/43548559
复制相似问题