调整EditText大小以适应文本大小

3

我想要调整EditText的高度,以适应文本大小。

我之所以想这样做,是因为有些用户会在Android可访问性选项中将其文本大小设置为“大号”,然后我的应用程序EditText视图中的一些文本将被截断。

我该怎么做才能动态调整高度以匹配文本大小? 我不需要自动调整大小或任何花哨的东西。

以下是我自定义EditText类中的一些代码

    mCurrentTextSize = getTextSize();
    LayoutParams layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT,
                                                                                                DisplayUtils.pixel2dp(getContext(), mCurrentTextSize));
    setLayoutParams(layoutParams);

在一个实用类中

public static int pixel2dp(Context context, float pixel) {
    DisplayMetrics metrics = new DisplayMetrics();  
    float logicalDensity = metrics.density;

    return (int) Math.ceil(pixel / logicalDensity);
}

那么你实际上想要高度具有灵活性,但仍然只显示一行吗? - fillobotto
我想只使用一行。在我的应用程序中,编辑文本框足够宽,但是一旦用户更改手机上的文本大小,它就不够高了。 - Coova
3
想知道:如果将布局高度参数设置为WRAP_CONTENT,然后在控件上使用setSingleLine(true),它不起作用吗? - fillobotto
1个回答

1
为什么不使用layout_height=wrap_content?它会自动重新调整EditText以包含文本。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接