是否可以检测屏幕上是否有部分视图不可见?
这用于视图宽度/高度大于其父级宽度/高度的情况。
修改
我知道视图的高度为0.有谁知道为什么?我在onCreate
中获取高度。
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 :(得分:2)
您可以通过调用View.getWidth()
和View.getHeight()
获取视图的宽度和高度,然后通过以下方式获取设备尺寸:How do I get a device's maximal width and height in android
然后比较两者,如果视图的边界大于设备的边界,则视图的某些部分不可见。
回应评论:
textView.post( new Runnable() {
@Override
public void run() {
int displayTextWidth = textView.getWidth();
// Code that uses width here...
}
});