0

设置为myViewinvisible

public void onClick(View arg0) {
myView.setVisibility(View.INVISIBLE); }

我可以通过某种内置方法以某种方式询问myView 可见性的当前状态吗?类似“myView.isVisible();”

我检查了android.developer,但没有得到答案。谢谢您的帮助 :)

4

3 回答 3

4
boolean visible = myView.getVisibility() == View.VISIBLE;
于 2013-02-27T16:30:40.460 回答
1

myView.isShown() 确定此视图及其所有父视图是否已设置为可见。
但是,它可能在屏幕外(例如在 a ViewPagerScrollView等内部)并且myView.isShown()仍然是true.

相反,尝试这个来确定是否myView真的(部分)在屏幕上并显示给用户。

 Rect rect = new Rect();
 boolean visible = myView.isShown(); 
 boolean shown = visible && myView.getLocalVisibleRect(rect);
于 2013-02-27T16:36:40.283 回答
1

您可以使用以下方法来了解视图的可见性:

public String getVisibleState(View v) {
        if (v.getVisibility() == View.VISIBLE)
            return "Visible";
        if (v.getVisibility() == View.INVISIBLE)
            return "In Visible";
        if (v.getVisibility() == View.GONE)
            return "Gone";
        return "I dont know";
    }
于 2013-02-27T17:44:02.190 回答