How to change visibility of layout programmatically

后端 未结 5 1205
温柔的废话
温柔的废话 2020-12-03 06:13

There is the way to change visibility of View, but how can I change programmatically visibility of layout defined in XML? How to get layout object?



        
相关标签:
5条回答
  • 2020-12-03 06:52
    TextView view = (TextView) findViewById(R.id.textView);
    view.setText("Add your text here");
    view.setVisibility(View.VISIBLE);
    
    0 讨论(0)
  • 2020-12-03 06:52

    this is a programatical approach:

     view.setVisibility(View.GONE); //For GONE
     view.setVisibility(View.INVISIBLE); //For INVISIBLE
     view.setVisibility(View.VISIBLE); //For VISIBLE
    
    0 讨论(0)
  • 2020-12-03 07:11

    Have a look at View.setVisibility(View.GONE / View.VISIBLE / View.INVISIBLE).

    From the API docs:

    public void setVisibility(int visibility)

        Since: API Level 1

        Set the enabled state of this view.
        Related XML Attributes: android:visibility

    Parameters:
    visibility     One of VISIBLE, INVISIBLE, or GONE.

    Note that LinearLayout is a ViewGroup which in turn is a View. That is, you may very well call, for instance, myLinearLayout.setVisibility(View.VISIBLE).

    This makes sense. If you have any experience with AWT/Swing, you'll recognize it from the relation between Container and Component. (A Container is a Component.)

    0 讨论(0)
  • 2020-12-03 07:12

    You can change layout visibility just in the same way as for regular view. Use setVisibility(View.GONE) etc. All layouts are just Views, they have View as their parent.

    0 讨论(0)
  • 2020-12-03 07:15

    Use this Layout in your xml file

    <LinearLayout
      android:id="@+id/contacts_type"
      android:orientation="horizontal"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:visibility="gone">
    </LinearLayout>
    

    Define your layout in .class file

     LinearLayout linearLayout = (LinearLayout) findViewById(R.id.contacts_type);
    

    Now if you want to display this layout just write

     linearLayout.setVisibility(View.VISIBLE);
    

    and if you want to hide layout just write

     linearLayout.setVisibility(View.INVISIBLE);
    
    0 讨论(0)
提交回复
热议问题