如何使View停止在父母的高度成长?

时间:2011-06-27 16:21:50

标签: android textview

这是代码。父母的身高是参考点。文本应该增长,直到达到其父级的高度。然而,元素不断增长超出可见区域。

没有必要发布XML文件,因为只有一个按钮和一个textview。

任何人都知道为什么文字不断增长超出父母的身高?我做错了什么?

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first);

        Display display = getWindowManager().getDefaultDisplay();
        final int screenWidth = display.getWidth();
        final int screenHeight = display.getHeight();

        textView = (TextView) findViewById(R.id.textview);

        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                int dTextWidth = textView.getWidth();

                if (dTextWidth <= screenHeight) {
                    textView.setTextSize(textView.getTextSize() + 1);
                }
            }
        });
    }

由于


修改

我使用了LinearLayout的高度但它仍然不起作用。更重要的是, LinearLayout高度为0 !!!!!

LinearLayout lin = (LinearLayout) findViewById(R.id.linear_layout);
final int layoutHeight = lin.getHeight();
Toast.makeText(this,"LinLay height: "+layoutHeight,Toast.LENGTH_SHORT).show();
...
        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                int displayTextWidth = textView.getWidth();

                if (displayTextWidth <= layoutHeight) {
                    textView.setTextSize(textView.getTextSize() + 1);
                }
            }
        });

1 个答案:

答案 0 :(得分:0)

您正在将文字宽度与屏幕高度进行比较。这是一个简单的错误。 把它改成这个。

if (dTextWidth <= screenWidth) {
    textView.setTextSize(textView.getTextSize() + 1);
}