Android 以编程方式调整文本大小,文本超出视图边界,是否修复?

Android 以编程方式调整文本大小,文本超出视图边界,是否修复?,android,interface,resize,textview,Android,Interface,Resize,Textview,我正在尝试调整线性布局中的行大小,具体取决于布局中的行数(布局具有固定高度)。这些行应始终完全填充父布局。因此,1行是父级的完整大小,2行都是大小的一半,以此类推。 这是可行的,我现在也在尝试调整文本大小,但是当我调整文本大小时,它会被切断,即使文本视图非常大(我打开了jelly bean的show view bounds功能) private void setHeightOfRows(视图组父级){ int height=parent.getHeight(); int childCount=p

我正在尝试调整线性布局中的行大小,具体取决于布局中的行数(布局具有固定高度)。这些行应始终完全填充父布局。因此,1行是父级的完整大小,2行都是大小的一半,以此类推。 这是可行的,我现在也在尝试调整文本大小,但是当我调整文本大小时,它会被切断,即使文本视图非常大(我打开了jelly bean的show view bounds功能)

private void setHeightOfRows(视图组父级){
int height=parent.getHeight();
int childCount=parent.getChildCount();
for(int i=0;i
此方法在ViewTreeObserver中执行,因此在呈现UI之后


如何在不切断文本的情况下调整文本的大小?

SetTextScaleX沿X方向(水平)拉伸文本。它看起来更像是要缩小文本,使其从上到下更小,对吗?在这种情况下,您不需要setTextScaleX,您需要setTextSize。

简单的问题。简单解决方案必须存在。:)
  • 您是否考虑过使用
    android:padding
    android:margin
  • minHeaight和minWidth怎么样

  • 如果你是按代码做的,那么就有一个
    setPadding
    Margin也必须有一个类似的东西
  • 有一个
    setMinHeight
    setMinWidth

这不是问题所在,我也尝试过setTextSize,文本的大小得到了正确调整,错误是文本在不应该被截取的地方被从上到下截取。Scalex根本不会影响从上到下截取。它把东西水平伸展。如果您在上下截图方面遇到问题,则需要使用不同的字体大小,这就是setTextSize的作用。你在那里设置了多大的尺寸?10/childCount不正确,您应该使用Paint.measureText以像素为单位查找字符串的高度,并将字体更改为越来越小的字体,直到找到适合给定空间的字体。是的,对不起,我刚从开发中删除了这段代码,它非常混乱,我先使用了SettexSize,我会把它清理干净再贴一次,等一下!是的,它现在正在工作,我想我真的很累,谢谢你指出显而易见的问题。你能进一步解释一下吗,我是android新手,我遇到了同样的问题。谢谢
private void setHeightOfRows(ViewGroup parent) {
    int height = parent.getHeight();
    int childCount = parent.getChildCount();
    for (int i = 0; i < childCount; i++) {
        LinearLayout.LayoutParams p = (LayoutParams) parent.getChildAt(i).getLayoutParams();
        p.height = height / childCount;
        parent.getChildAt(i).setLayoutParams(p);
        ((ViewGroup) parent.getChildAt(i)).setClipChildren(false);
        Log.i("FontSize", "Set font size to " + 10 / childCount);
        ((TextView) parent.getChildAt(i).findViewById(R.id.name_text)).setTextScaleX(10 / childCount);// .setTextSize(10/childCount);
    }
}