title: Android layout animations
body: <p>I want to implement a menu layout in android. The menu layout will be positioned at the bottom of the screen. I want to have a button that will be used to display and hide the menu layout. So far I have successfully implemented it as follows:</p>
  
  <pre><code>&lt;LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_alignParentEnd="true"
      android:layout_alignParentRight="true"
      android:layout_alignParentBottom="true"
      android:orientation="vertical"&gt;
  
      &lt;ImageView
          android:layout_width="40dp"
          android:layout_height="40dp"
          android:id="@+id/conversations_imageView_menu"
          android:layout_alignParentEnd="true"
          android:layout_alignParentRight="true"
          android:layout_alignParentTop="true"
          android:layout_marginBottom="35dp"
          android:layout_marginRight="15dp"
          android:layout_marginEnd="15dp"
          android:layout_gravity="right"
          android:src="@mipmap/ic_olla_menu_conversations_show"/&gt;
  
      &lt;LinearLayout
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:orientation="vertical"
          android:id="@+id/conversations_menu_layout"
          android:visibility="gone"
          android:background="@drawable/conversations_menu_background"&gt;
  
          &lt;LinearLayout
              android:layout_width="match_parent"
              android:layout_height="0dp"
              android:orientation="horizontal"
              android:layout_weight="1"
              android:layout_marginTop="10dp"&gt;
  
              &lt;LinearLayout
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:orientation="vertical"
                  android:layout_weight="1"
                  android:gravity="center"
                  android:layout_marginTop="5dp"&gt;
  
                  &lt;ImageView
                      android:layout_width="40dp"
                      android:layout_height="40dp"
                      android:layout_marginBottom="5dp"
                      android:src="@mipmap/ic_olla_block_user"/&gt;
  
                  &lt;TextView
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:text="Block"
                      android:textSize="12sp"
                      android:textColor="@color/conversations_menu_textColor"/&gt;
  
              &lt;/LinearLayout&gt;
              &lt;LinearLayout
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:orientation="vertical"
                  android:layout_weight="1"
                  android:gravity="center"&gt;
  
                  &lt;ImageView
                      android:layout_width="40dp"
                      android:layout_height="40dp"
                      android:layout_marginBottom="5dp"
                      android:src="@mipmap/ic_olla_group"/&gt;
  
                  &lt;TextView
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:text="Groups"
                      android:textSize="12sp"
                      android:textColor="@color/conversations_menu_textColor"/&gt;
  
              &lt;/LinearLayout&gt;
              &lt;LinearLayout
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:orientation="vertical"
                  android:layout_weight="1"
                  android:gravity="center"&gt;
  
                  &lt;ImageView
                      android:layout_width="40dp"
                      android:layout_height="40dp"
                      android:layout_marginBottom="5dp"
                      android:src="@mipmap/ic_olla_background"/&gt;
  
                  &lt;TextView
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:text="Background"
                      android:textSize="12sp"
                      android:textColor="@color/conversations_menu_textColor"/&gt;
  
              &lt;/LinearLayout&gt;
  
          &lt;/LinearLayout&gt;
  
          &lt;LinearLayout
              android:layout_width="match_parent"
              android:layout_height="0dp"
              android:orientation="horizontal"
              android:layout_weight="1"
              android:layout_marginBottom="20dp"
              android:layout_marginTop="5dp"&gt;
  
              &lt;LinearLayout
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:orientation="vertical"
                  android:layout_weight="1"
                  android:gravity="center"&gt;
  
                  &lt;ImageView
                      android:layout_width="40dp"
                      android:layout_height="40dp"
                      android:layout_marginBottom="5dp"
                      android:src="@mipmap/ic_olla_invite"/&gt;
  
                  &lt;TextView
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:text="Invite"
                      android:textSize="12sp"
                      android:textColor="@color/conversations_menu_textColor"/&gt;
  
              &lt;/LinearLayout&gt;
              &lt;LinearLayout
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:orientation="vertical"
                  android:layout_weight="1"
                  android:gravity="center"&gt;
  
                  &lt;ImageView
                      android:layout_width="40dp"
                      android:layout_height="40dp"
                      android:layout_marginBottom="5dp"
                      android:src="@mipmap/ic_olla_privacy"/&gt;
  
                  &lt;TextView
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:text="Privacy"
                      android:textSize="12sp"
                      android:textColor="@color/conversations_menu_textColor"/&gt;
  
              &lt;/LinearLayout&gt;
              &lt;LinearLayout
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:orientation="vertical"
                  android:layout_weight="1"
                  android:gravity="center"&gt;
  
                  &lt;ImageView
                      android:layout_width="40dp"
                      android:layout_height="40dp"
                      android:layout_marginBottom="5dp"
                      android:src="@mipmap/ic_olla_help"/&gt;
  
                  &lt;TextView
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:text="Help"
                      android:textSize="12sp"
                      android:textColor="@color/conversations_menu_textColor"/&gt;
  
              &lt;/LinearLayout&gt;
  
          &lt;/LinearLayout&gt;
  
      &lt;/LinearLayout&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>When a user clicks the <code>conversations_imageView_menu</code> ImageView, <code>conversations_menu_layout</code> layout will slide from the bottom and push the button up till all the content is visible. If the menu is visible, <code>conversations_menu_layout</code> will slide down and hide. Alternatively, I would like to display <code>conversations_menu_layout</code> using lollipop <code>circular reveal animations</code>. 
  I have tried to implement the former and here are my animation files;</p>
  
  <p>sliding up</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;set xmlns:android="http://schemas.android.com/apk/res/android" &gt;
      &lt;translate
          android:duration="800"
          android:fromYDelta="70%"
          android:toYDelta="0" /&gt;
  &lt;/set&gt;
  </code></pre>
  
  <p>And sliding down</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;set xmlns:android="http://schemas.android.com/apk/res/android"&gt;
      &lt;translate
          android:fromYDelta="75%p"
          android:toYDelta="0%p"
          android:fillAfter="true"
          android:duration="500" /&gt;
  &lt;/set&gt;
  </code></pre>
  
  <p>But the animation is not smooth. The button moves up, before the menu layout completes showing.How can I make it scroll smoothly downwards?</p>