0

After setting the myView to invisible:

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

can i somehow ask the current state of myView's visibility via some built-in-method? something like "myView.isVisible();"

i checked android.developer, but didn't get an answer there. thanks for the help :)

4

3 に答える 3

4
boolean visible = myView.getVisibility() == View.VISIBLE;
于 2013-02-27T16:30:40.460 に答える
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 に答える
1

myView.isShown() このビューとそのすべての親が表示に設定されているかどうかを判断します。
ただし、画面外 (たとえば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 に答える