diff --git a/java/com/android/newbubble/NewBubble.java b/java/com/android/newbubble/NewBubble.java
index c0f93e2..8b188ba 100644
--- a/java/com/android/newbubble/NewBubble.java
+++ b/java/com/android/newbubble/NewBubble.java
@@ -25,6 +25,7 @@
 import android.app.PendingIntent.CanceledException;
 import android.content.Context;
 import android.content.Intent;
+import android.graphics.Outline;
 import android.graphics.PixelFormat;
 import android.graphics.Rect;
 import android.graphics.drawable.Animatable;
@@ -46,6 +47,7 @@
 import android.view.View;
 import android.view.View.AccessibilityDelegate;
 import android.view.ViewGroup;
+import android.view.ViewOutlineProvider;
 import android.view.ViewTreeObserver.OnPreDrawListener;
 import android.view.WindowManager;
 import android.view.WindowManager.LayoutParams;
@@ -112,7 +114,7 @@
   @VisibleForTesting AnimatorSet exitAnimatorSet;
   @VisibleForTesting AnimatorSet enterAnimatorSet;
 
-  private final int primaryIconMoveDistance;
+  private int primaryIconMoveDistance;
   private final int leftBoundary;
   private int savedYPosition = -1;
 
@@ -663,6 +665,22 @@
   }
 
   private void update() {
+    // The value may change on display size changed.
+    primaryIconMoveDistance =
+        context.getResources().getDimensionPixelSize(R.dimen.bubble_size)
+            - context.getResources().getDimensionPixelSize(R.dimen.bubble_small_icon_size);
+    // Set boundary for primary button to show elevation (background is transparent)
+    viewHolder
+        .getPrimaryButton()
+        .setOutlineProvider(
+            new ViewOutlineProvider() {
+              @Override
+              public void getOutline(View view, Outline outline) {
+                ViewOutlineProvider.BACKGROUND.getOutline(view, outline);
+                outline.setAlpha(1);
+              }
+            });
+
     // Small icon
     Drawable smallIconBackgroundCircle =
         context
@@ -914,9 +932,10 @@
               startCollapse(CollapseEnd.NOTHING, false /* shouldRecoverYPosition */);
             }
             // The values in the current MoveHandler may be stale, so replace it. Then ensure the
-            // Window is in bounds
+            // Window is in bounds, and redraw the changes
             moveHandler = new NewMoveHandler(primaryButton, NewBubble.this);
             moveHandler.snapToBounds();
+            replaceViewHolder();
           });
       root.setOnTouchListener(
           (v, event) -> {
diff --git a/java/com/android/newbubble/res/drawable/bubble_shape_circle.xml b/java/com/android/newbubble/res/drawable/bubble_shape_circle.xml
index af9d858..b188e9d 100644
--- a/java/com/android/newbubble/res/drawable/bubble_shape_circle.xml
+++ b/java/com/android/newbubble/res/drawable/bubble_shape_circle.xml
@@ -15,11 +15,10 @@
   ~ limitations under the License
   -->
 
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-  <corners
-      android:bottomRightRadius="@dimen/bubble_size"
-      android:topRightRadius="@dimen/bubble_size"
-      android:bottomLeftRadius="@dimen/bubble_size"
-      android:topLeftRadius="@dimen/bubble_size"/>
-  <solid android:color="@android:color/white"/>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="oval">
+  <size
+      android:width="@dimen/bubble_size"
+      android:height="@dimen/bubble_size"/>
+  <solid android:color="@android:color/transparent"/>
 </shape>
