onDraw方法如何在Android中运行?

时间:2017-09-27 10:41:51

标签: android android-layout

当我们在Android中设置视图的可见性时,onDraw()方法如何工作?

EG。当我们在xml中将视图声明为visibility:gone或在java中将View.GONE声明为setvisibilty时。后端会发生什么?如果我们将视图声明为可见性GONE,它是否调用onDraw()方法?

我的主要问题是当我们将视图声明为VISIBLE,GONE,INVISIBLE时,Android后端会发生什么,是否会调用onDraw()方法?

2 个答案:

答案 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中存在但不可见,那么在这种情况下布局会干扰。 希望这可能会有所帮助,请问我是否不清楚。