ExpandableLayout icon indicating copy to clipboard operation
ExpandableLayout copied to clipboard

ExpandableLinearLayout not animating vertically even if app:ael_orientation = "vertical"

Open azizkayumov opened this issue 9 years ago • 6 comments

Here is my xml:

`
<TextView android:id="@+id/overlayText" android:layout_width="match_parent" android:minHeight="56dp" android:background="@color/colorAccent" android:layout_height="wrap_content"/>

<com.github.aakira.expandablelayout.ExpandableLinearLayout
    android:id="@+id/expandableLayout"
    android:layout_width="match_parent"
    android:layout_below="@+id/overlayText"
    android:layout_height="wrap_content"
    android:background="@color/colorAccent"
    app:ael_expanded="false"
    app:ael_duration="300"
    app:ael_interpolator="fastOutSlowIn"
    app:ael_orientation="vertical">

    <TextView
        android:layout_width="match_parent"
        android:minHeight="206dp"
        android:layout_height="wrap_content"/>

</com.github.aakira.expandablelayout.ExpandableLinearLayout>

`

And this is my fragment code snippet:

`mExpandLayout = (ExpandableLinearLayout) root.findViewById(R.id.expandableLayout); mOverlayText = (TextView) root.findViewById(R.id.overlayText);

    mOverlayText.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mExpandLayout.toggle();
        }
    });`

I should use ExpandableLinearLayout since the child will chage its size. Please, help!

azizkayumov avatar Jul 04 '16 17:07 azizkayumov

I'm having exactly the same problem!

mojotti avatar Jul 08 '16 18:07 mojotti

Hello AbduazizKayumov,

I managed to find a solution for this problem. I have also text that is coming from server so it will change it's size dynamically.

You have to use ExpandableRelativeLayout like this:

    <Button
        android:id="@+id/expandableButton1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@color/dark_green2"
        android:drawableRight="@android:drawable/arrow_down_float"
        android:onClick="expandableButton1"
        android:text=""
        android:textColor="#fff"
        android:layout_marginTop="16dp"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:visibility="gone" />

    <com.github.aakira.expandablelayout.ExpandableRelativeLayout
        android:id="@+id/expandableLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/light_green2"
        android:padding="16dp"
        app:ael_duration="400"
        app:ael_expanded="true"
        app:ael_interpolator="bounce"
        app:ael_orientation="vertical"
        android:layout_below="@+id/expandableButton1"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:visibility="gone">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/expandableText1"
            android:text="Loading stuff from internet..."/>
    </com.github.aakira.expandablelayout.ExpandableRelativeLayout>

Note here that I use: android:visibility="gone" by default. This makes view invisible at first. We will make it visible on Java code.

Then on Java code, add function like this, before you call your mOverlayText.setOnClickListener(new View.OnClickListener()

public void makeViewsVisible() { View view1 = findViewById(R.id.expandableButton1); View view1_text = findViewById(R.id.expandableLayout1);

view1.setVisibility(View.VISIBLE);
view1_text.setVisibility(View.VISIBLE);

}

You have to also call this function from inside your mOverlayText.setOnClickListener(new View.OnClickListener().

For me it works, does not matter that I have text coming from server. Also there is no problem with animation.

Hope this helps!

mojotti avatar Jul 10 '16 08:07 mojotti

I had the same issue, the that I found is to use android:orientation="vertical" as an attribute because it extends LinearLayout. Enjoy.

dude0367 avatar Jul 14 '16 17:07 dude0367

@dude0367 your solution fixed it for me. I have both ael_orientation=vertical and android:orientation='vertical' and it works now. Thanks

aplocher avatar Nov 16 '17 18:11 aplocher

ael_orientation=vertical and android:orientation='vertical' and it works now. Thanks

sankar07 avatar Mar 13 '19 11:03 sankar07

I had the same issue, the that I found is to use android:orientation="vertical" as an attribute because it extends LinearLayout. Enjoy.

Not working for me.

@dude0367 your solution fixed it for me. I have both ael_orientation=vertical and android:orientation='vertical' and it works now. Thanks

With this works fine.

kirtanparmar avatar Apr 19 '20 09:04 kirtanparmar