这是代码。父母的身高是参考点。文本应该增长,直到达到其父级的高度。然而,元素不断增长超出可见区域。
没有必要发布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);
}
}
});
答案 0 :(得分:0)
您正在将文字宽度与屏幕高度进行比较。这是一个简单的错误。 把它改成这个。
if (dTextWidth <= screenWidth) {
textView.setTextSize(textView.getTextSize() + 1);
}