首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何动态获取编辑文本的高度?

如何动态获取编辑文本的高度?
EN

Stack Overflow用户
提问于 2017-04-22 01:16:45
回答 2查看 1.6K关注 0票数 2

上有许多编辑文本

它是我使用RelativeLayout动态创建的(在XML中定义)。第一个编辑文本也是在XML中定义的,其他编辑文本是基于第一个编辑文本创建的。问题是,正如你所看到的,最后编辑的文本正在改变其高度,这与其他文本不同,但是我如何检查它呢?如何获得此编辑文本的高度并将其添加到屏幕上的下一行?

EN

回答 2

Stack Overflow用户

发布于 2017-04-22 01:30:23

您可以尝试这样动态获取大小:

getMeasuredHeight():请在谷歌上搜索更多信息。

代码语言:javascript
复制
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()来获取。

票数 3
EN

Stack Overflow用户

发布于 2017-04-22 01:25:03

你可以试试这样的东西..

代码语言:javascript
复制
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 height
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43548559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档