将myView
设置为invisible
后:
public void onClick(View arg0) {
myView.setVisibility(View.INVISIBLE); }
我可以通过一些内置方法以某种方式询问 myView的可见性的当前状态吗? 类似“myView.isVisible();”
我检查了android.developer,但没有得到答案。 感谢您的帮助:)
答案 0 :(得分:4)
boolean visible = myView.getVisibility() == View.VISIBLE;
答案 1 :(得分:1)
myView.isShown()
确定此视图及其所有父项是否已设置为可见
但是,它可能在屏幕外(例如在ViewPager
,ScrollView
内等),而myView.isShown()
仍然是true
。
相反,请尝试此操作以确定myView
是否实际(部分)在屏幕上并显示给用户。
Rect rect = new Rect();
boolean visible = myView.isShown();
boolean shown = visible && myView.getLocalVisibleRect(rect);
答案 2 :(得分: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";
}