当我们在Android中设置视图的可见性时,onDraw()方法如何工作?
EG。当我们在xml中将视图声明为visibility:gone
或在java中将View.GONE
声明为setvisibilty时。后端会发生什么?如果我们将视图声明为可见性GONE,它是否调用onDraw()方法?
我的主要问题是当我们将视图声明为VISIBLE,GONE,INVISIBLE时,Android后端会发生什么,是否会调用onDraw()方法?
答案 0 :(得分:1)
<强> View.GONE 强>
此视图不可见,并且不会占用任何空间进行布局。
此视图不可见,并且不会占用任何空间进行布局。与setVisibility(int)和android:visibility一起使用。
View.INVISIBLE
此视图不可见,但仍会占用布局空间。 此视图不可见,但它仍占用布局空间。与setVisibility(int)和android:visibility一起使用。
有关信息,请阅读 doc 。
答案 1 :(得分:0)
这可能有助于回答你的问题 请注意,View.Gone和View.Invisible
存在差异import android.support.v7.app.AppCompatActivity; import android.os.Bundle;
public class Demo extends AppCompatActivity {
private RelativeLayout layoutfortexttopSelfView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wi_fi_demo);
layoutfortexttopSelfView.setVisibility(View.GONE); //this will hide the view
layoutfortexttopSelfView.setVisibility(View.Visible); //this will unhide the view
//this will invisible and visible the view
layoutfortexttopSelfView.setVisibility(View.INVISIBLE);
layoutfortexttopSelfView.setVisibility(View.Visible);
}
}
当我们进行view.gone时,布局隐藏了,布局约束根据屏幕中仍然可见的内容进行调整 但是当我们做INVISIBLE时,布局不会消失,它在xml中存在但不可见,那么在这种情况下布局会干扰。 希望这可能会有所帮助,请问我是否不清楚。