Commit 68549868 authored by Leon Scroggins's avatar Leon Scroggins
Browse files

Add a shadow to the fake title bar.

Remove old code which requests windowOverlays.  When inserting the
fake title bar, put a shadow underneath it.  Do not show it if the
scroll is at the top, since it is transparent, and showing it along
with the shadow below the real title bar would show a darker shadow.

Fixes http://b/issue?id=2118813

Change-Id: I84b8975ea82cc8659b702112c7e67498f863916c
parent e6843ded
......@@ -33,7 +33,6 @@
<FrameLayout android:id="@+id/main_content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:foreground="?android:attr/windowContentOverlay"
/>
</LinearLayout>
</FrameLayout>
......@@ -15,9 +15,14 @@
limitations under the License.
-->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:foreground="?android:attr/windowContentOverlay"
android:background="@color/white"
/>
android:orientation="vertical"
>
<View
android:layout_height="5dip"
android:layout_width="fill_parent"
android:background="@*android:drawable/title_bar_shadow"
/>
</LinearLayout>
......@@ -972,27 +972,25 @@ public class BrowserActivity extends Activity
ViewGroup.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_APPLICATION_SUB_PANEL,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.OPAQUE);
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP;
WebView mainView = mTabControl.getCurrentWebView();
params.windowAnimations = mainView == null
|| mainView.getScrollY() != 0
? com.android.internal.R.style.Animation_DropDownDown : 0;
boolean atTop = mainView != null && mainView.getScrollY() == 0;
params.windowAnimations = atTop ? 0
: com.android.internal.R.style.Animation_DropDownDown;
// XXX : Without providing an offset, the fake title bar will be
// placed underneath the status bar. Use the global visible rect
// of mBrowserFrameLayout to determine the bottom of the status bar
Rect rectangle = new Rect();
mBrowserFrameLayout.getGlobalVisibleRect(rectangle);
params.y = rectangle.top;
// Add a holder for the title bar. It is a FrameLayout, which
// allows it to have an overlay shadow. It also has a white
// background, which is the same as the background when it is
// placed in a WebView.
// Add a holder for the title bar. It also holds a shadow to show
// below the title bar.
if (mFakeTitleBarHolder == null) {
mFakeTitleBarHolder = (ViewGroup) LayoutInflater.from(this)
.inflate(R.layout.title_bar_bg, null);
}
mFakeTitleBarHolder.addView(mFakeTitleBar, mFakeTitleBarParams);
mFakeTitleBarHolder.addView(mFakeTitleBar, 0, mFakeTitleBarParams);
manager.addView(mFakeTitleBarHolder, params);
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment