0

So my layout is still visible, maybe someone sees mistake? I want to dispear it when infoButton(imagebutton) is clicked.

FrameLayout infolayout;
infolayout = (FrameLayout) findViewById(R.id.infoLayout);
public void infoPressed(View v){//info button is pressed by user
        //infoLayout.setVisibility(View.GONE); 

        infolayout.setVisibility(View.INVISIBLE);
    }

    <FrameLayout
    android:layout_width="193dp"
    android:layout_height="200dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignBottom="@+id/serviceLayout"
    android:id="@+id/infoLayout">

I wacthed: How to change visibility of layout programaticly

EDITED: wrong code part, still not working for me

Community
  • 1
  • 1
gdd
  • 32
  • 1
  • 1
  • 7

2 Answers2

0

*Try this**

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.demo.MainActivity" >

<FrameLayout
    android:id="@+id/serviceLayout"
    android:layout_width="match_parent"
    android:layout_height="150dp"
    android:background="#000000" />

<Button
    android:id="@+id/btnHide"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:onClick="infoPressed"
    android:text="Hide" />

</RelativeLayout>

MainActivity.java

public class MainActivity extends Activity
{

    FrameLayout infolayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        infolayout = (FrameLayout) findViewById(R.id.serviceLayout);
    }

    public void infoPressed(View v){ //info button is pressed by user
    //infoLayout.setVisibility(View.GONE); 

        infolayout.setVisibility(View.INVISIBLE);
    }


}
Mahesh Suthar
  • 237
  • 1
  • 11
-2

if your ID declaration is correct I guess you have to change the line

infolayout.setVisibility(View.INVISIBLE);

to

infolayout.setVisibility(FrameLayout.INVISIBLE);
Abhijeet
  • 392
  • 2
  • 13