Animate toolbar hide/show
This commit is contained in:
parent
ced119f311
commit
376ac564b8
11
res/anim/slide_down.xml
Normal file
11
res/anim/slide_down.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shareInterpolator="false">
|
||||
<translate android:fromYDelta="-50%" android:toYDelta="0"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:duration="@android:integer/config_shortAnimTime"/>
|
||||
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:duration="@android:integer/config_shortAnimTime" />
|
||||
</set>
|
11
res/anim/slide_up.xml
Normal file
11
res/anim/slide_up.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shareInterpolator="false">
|
||||
<translate android:fromYDelta="0" android:toYDelta="-50%"
|
||||
android:interpolator="@android:anim/accelerate_interpolator"
|
||||
android:duration="@android:integer/config_shortAnimTime"/>
|
||||
<alpha android:fromAlpha="1.0" android:toAlpha="0.0"
|
||||
android:interpolator="@android:anim/accelerate_interpolator"
|
||||
android:duration="@android:integer/config_shortAnimTime" />
|
||||
</set>
|
@ -14,6 +14,7 @@
|
||||
android:fitsSystemWindows="true" >
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ui_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical" >
|
||||
@ -23,193 +24,16 @@
|
||||
<FrameLayout
|
||||
android:id="@+id/content_frame"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:background="@color/primary_color"
|
||||
android:layout_weight="1"/>
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@color/primary_color" />
|
||||
|
||||
<include layout="@layout/search_interface" />
|
||||
</LinearLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/left_drawer"
|
||||
android:layout_width="@dimen/navigation_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="start"
|
||||
android:background="@color/drawer_background"
|
||||
android:clickable="true"
|
||||
android:fitsSystemWindows="true"
|
||||
android:orientation="vertical" >
|
||||
<include layout="@layout/tab_drawer" />
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/new_tab_button"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:layout_alignParentTop="true"
|
||||
android:background="?attr/listBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal" >
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/plusIcon"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:contentDescription="Favicon"
|
||||
android:gravity="center_vertical"
|
||||
android:src="@drawable/ic_action_plus" >
|
||||
</ImageView>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toRightOf="@+id/plusIcon"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:minHeight="?android:attr/listPreferredItemHeightSmall"
|
||||
android:text="@string/action_new_tab"
|
||||
android:textAppearance="?android:attr/textAppearanceListItemSmall"
|
||||
android:textColor="@color/black" />
|
||||
</RelativeLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/view"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_below="@+id/new_tab_button"
|
||||
android:background="@color/gray_list_bg" />
|
||||
|
||||
<ListView
|
||||
android:id="@+id/left_drawer_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@+id/lineView"
|
||||
android:layout_below="@+id/view"
|
||||
android:choiceMode="singleChoice"
|
||||
android:dividerHeight="1dp"
|
||||
android:listSelector="?attr/listBackground" />
|
||||
|
||||
<View
|
||||
android:id="@+id/lineView"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_above="@+id/linearLayout1"
|
||||
android:background="@color/gray_list_bg" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/linearLayout1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="48dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:baselineAligned="false"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="2" >
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/action_back"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:background="?attr/listBackground"
|
||||
android:clickable="true" >
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:contentDescription="@string/action_back"
|
||||
android:paddingBottom="4dp"
|
||||
android:paddingLeft="4dp"
|
||||
android:paddingRight="4dp"
|
||||
android:paddingTop="4dp"
|
||||
android:src="@drawable/ic_action_back" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/action_forward"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:background="?attr/listBackground"
|
||||
android:clickable="true" >
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:contentDescription="@string/action_forward"
|
||||
android:paddingBottom="4dp"
|
||||
android:paddingLeft="4dp"
|
||||
android:paddingRight="4dp"
|
||||
android:paddingTop="4dp"
|
||||
android:src="@drawable/ic_action_forward" />
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/right_drawer"
|
||||
android:layout_width="@dimen/navigation_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="end"
|
||||
android:background="@color/drawer_background"
|
||||
android:clickable="true"
|
||||
android:fitsSystemWindows="true"
|
||||
android:orientation="vertical" >
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/bookmark_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="?attr/listBackground"
|
||||
android:clickable="true"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal" >
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/starIcon"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:contentDescription="Favicon"
|
||||
android:gravity="center_vertical"
|
||||
android:src="@drawable/ic_action_star" >
|
||||
</ImageView>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toRightOf="@+id/starIcon"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:minHeight="?android:attr/listPreferredItemHeightSmall"
|
||||
android:text="@string/action_bookmarks"
|
||||
android:textAppearance="?android:attr/textAppearanceListItemSmall"
|
||||
android:textColor="@color/black" />
|
||||
</RelativeLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@color/gray_list_bg" />
|
||||
|
||||
<ListView
|
||||
android:id="@+id/right_drawer_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:divider="#bababa"
|
||||
android:dividerHeight="1dp"
|
||||
android:listSelector="?attr/listBackground" />
|
||||
</LinearLayout>
|
||||
<include layout="@layout/bookmark_drawer" />
|
||||
</android.support.v4.widget.DrawerLayout>
|
||||
|
||||
</LinearLayout>
|
61
res/layout/bookmark_drawer.xml
Normal file
61
res/layout/bookmark_drawer.xml
Normal file
@ -0,0 +1,61 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/right_drawer"
|
||||
android:layout_width="@dimen/navigation_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="end"
|
||||
android:background="@color/drawer_background"
|
||||
android:clickable="true"
|
||||
android:fitsSystemWindows="true"
|
||||
android:orientation="vertical" >
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/bookmark_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="?attr/listBackground"
|
||||
android:clickable="true"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal" >
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/starIcon"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:contentDescription="Favicon"
|
||||
android:gravity="center_vertical"
|
||||
android:src="@drawable/ic_action_star" >
|
||||
</ImageView>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toRightOf="@+id/starIcon"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:minHeight="?android:attr/listPreferredItemHeightSmall"
|
||||
android:text="@string/action_bookmarks"
|
||||
android:textAppearance="?android:attr/textAppearanceListItemSmall"
|
||||
android:textColor="@color/black" />
|
||||
</RelativeLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@color/gray_list_bg" />
|
||||
|
||||
<ListView
|
||||
android:id="@+id/right_drawer_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:divider="#bababa"
|
||||
android:dividerHeight="1dp"
|
||||
android:listSelector="?attr/listBackground" />
|
||||
|
||||
</LinearLayout>
|
122
res/layout/tab_drawer.xml
Normal file
122
res/layout/tab_drawer.xml
Normal file
@ -0,0 +1,122 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/left_drawer"
|
||||
android:layout_width="@dimen/navigation_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="start"
|
||||
android:background="@color/drawer_background"
|
||||
android:clickable="true"
|
||||
android:fitsSystemWindows="true"
|
||||
android:orientation="vertical" >
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/new_tab_button"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:layout_alignParentTop="true"
|
||||
android:background="?attr/listBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal" >
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/plusIcon"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:contentDescription="Favicon"
|
||||
android:gravity="center_vertical"
|
||||
android:src="@drawable/ic_action_plus" >
|
||||
</ImageView>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toRightOf="@+id/plusIcon"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="1"
|
||||
android:minHeight="?android:attr/listPreferredItemHeightSmall"
|
||||
android:text="@string/action_new_tab"
|
||||
android:textAppearance="?android:attr/textAppearanceListItemSmall"
|
||||
android:textColor="@color/black" />
|
||||
</RelativeLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/view"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_below="@+id/new_tab_button"
|
||||
android:background="@color/gray_list_bg" />
|
||||
|
||||
<ListView
|
||||
android:id="@+id/left_drawer_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@+id/lineView"
|
||||
android:layout_below="@+id/view"
|
||||
android:choiceMode="singleChoice"
|
||||
android:dividerHeight="1dp"
|
||||
android:listSelector="?attr/listBackground" />
|
||||
|
||||
<View
|
||||
android:id="@+id/lineView"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_above="@+id/linearLayout1"
|
||||
android:background="@color/gray_list_bg" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/linearLayout1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="48dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:baselineAligned="false"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="2" >
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/action_back"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:background="?attr/listBackground"
|
||||
android:clickable="true" >
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:contentDescription="@string/action_back"
|
||||
android:paddingBottom="4dp"
|
||||
android:paddingLeft="4dp"
|
||||
android:paddingRight="4dp"
|
||||
android:paddingTop="4dp"
|
||||
android:src="@drawable/ic_action_back" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/action_forward"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:background="?attr/listBackground"
|
||||
android:clickable="true" >
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:contentDescription="@string/action_forward"
|
||||
android:paddingBottom="4dp"
|
||||
android:paddingLeft="4dp"
|
||||
android:paddingRight="4dp"
|
||||
android:paddingTop="4dp"
|
||||
android:src="@drawable/ic_action_forward" />
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</RelativeLayout>
|
@ -41,7 +41,6 @@
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginRight="13dp"
|
||||
android:background="?attr/actionBarItemBackground"
|
||||
android:alpha="0.5"
|
||||
android:contentDescription="Delete Tab"
|
||||
android:gravity="center_vertical"
|
||||
|
@ -18,8 +18,6 @@
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:attr/listChoiceBackgroundIndicator"
|
||||
android:clickable="false"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="5dp" >
|
||||
|
||||
@ -28,7 +26,6 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:clickable="false"
|
||||
android:maxLines="1"
|
||||
android:textColor="#000000"
|
||||
android:textSize="18sp" />
|
||||
@ -38,7 +35,6 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:clickable="false"
|
||||
android:maxLines="1"
|
||||
android:textColor="#6a6a6a" />
|
||||
</LinearLayout>
|
||||
|
@ -131,7 +131,7 @@
|
||||
<string name="action_manual">Manual</string>
|
||||
<string name="action_auto">Auto</string>
|
||||
<string name="action_follow_me">Contact Me</string>
|
||||
<string name="url_twitter">twitter.com/ACRDevelopment</string>
|
||||
<string name="url_twitter">twitter.com/RestainoAnthony</string>
|
||||
<string name="clear_cache">Clear cache</string>
|
||||
<string name="message_cache_cleared">Cache Cleared</string>
|
||||
<string name="message_import">Bookmarks Were Imported</string>
|
||||
|
@ -22,7 +22,6 @@ import android.widget.TextView;
|
||||
public class AboutSettingsActivity extends Activity {
|
||||
|
||||
// mPreferences variables
|
||||
private static final int API = android.os.Build.VERSION.SDK_INT;
|
||||
private SharedPreferences mPreferences;
|
||||
private int mEasterEggCounter;
|
||||
private Context mContext;
|
||||
@ -116,7 +115,7 @@ public class AboutSettingsActivity extends Activity {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
startActivity(new Intent(Intent.ACTION_VIEW, Uri
|
||||
.parse("http://twitter.com/ACRDevelopment"), mContext, MainActivity.class));
|
||||
.parse("http://twitter.com/RestainoAnthony"), mContext, MainActivity.class));
|
||||
finish();
|
||||
}
|
||||
|
||||
|
@ -48,6 +48,8 @@ import android.view.View.OnLongClickListener;
|
||||
import android.view.View.OnTouchListener;
|
||||
import android.view.ViewGroup.LayoutParams;
|
||||
import android.view.animation.Animation;
|
||||
import android.view.animation.Animation.AnimationListener;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.view.animation.DecelerateInterpolator;
|
||||
import android.view.animation.Transformation;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
@ -101,6 +103,7 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl
|
||||
private boolean mFullScreen;
|
||||
private FrameLayout mBrowserFrame;
|
||||
private LinearLayout mPageLayout;
|
||||
private LinearLayout mUiLayout;
|
||||
private FullscreenHolder mFullscreenContainer;
|
||||
private CustomViewCallback mCustomViewCallback;
|
||||
private final FrameLayout.LayoutParams COVER_SCREEN_PARAMS = new FrameLayout.LayoutParams(
|
||||
@ -166,6 +169,7 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl
|
||||
mBrowserFrame = (FrameLayout) findViewById(R.id.content_frame);
|
||||
mToolbarLayout = (LinearLayout) findViewById(R.id.toolbar_layout);
|
||||
mPageLayout = (LinearLayout) findViewById(R.id.main_layout);
|
||||
mUiLayout = (LinearLayout) findViewById(R.id.ui_layout);
|
||||
mProgressBar = (AnimatedProgressBar) findViewById(R.id.progress_view);
|
||||
// mProgressBar.setVisibility(View.GONE);
|
||||
// TODO
|
||||
@ -715,6 +719,18 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl
|
||||
mPreferences = getSharedPreferences(PreferenceConstants.PREFERENCES, 0);
|
||||
}
|
||||
mFullScreen = mPreferences.getBoolean(PreferenceConstants.FULL_SCREEN, false);
|
||||
if(mFullScreen){
|
||||
if (mBrowserFrame.findViewById(R.id.toolbar_layout) == null) {
|
||||
mUiLayout.removeView(mToolbarLayout);
|
||||
mBrowserFrame.addView(mToolbarLayout);
|
||||
mToolbarLayout.bringToFront();
|
||||
}
|
||||
} else {
|
||||
if (mBrowserFrame.findViewById(R.id.toolbar_layout) != null) {
|
||||
mBrowserFrame.removeView(mToolbarLayout);
|
||||
mUiLayout.addView(mToolbarLayout, 0);
|
||||
}
|
||||
}
|
||||
if (mPreferences.getBoolean(PreferenceConstants.HIDE_STATUS_BAR, false)) {
|
||||
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
||||
WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
@ -2335,6 +2351,47 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl
|
||||
* if (mActionBar.isShowing() && mFullScreen) { mActionBar.hide(); }
|
||||
*/
|
||||
// TODO
|
||||
if (mFullScreen) {
|
||||
if (mBrowserFrame.findViewById(R.id.toolbar_layout) == null) {
|
||||
mUiLayout.removeView(mToolbarLayout);
|
||||
mBrowserFrame.addView(mToolbarLayout);
|
||||
mToolbarLayout.bringToFront();
|
||||
Log.i(Constants.TAG, "Move view to browser frame");
|
||||
}
|
||||
if (mToolbarLayout.getVisibility() != View.GONE) {
|
||||
|
||||
Animation hide = AnimationUtils.loadAnimation(mContext, R.anim.slide_up);
|
||||
hide.setAnimationListener(new AnimationListener(){
|
||||
|
||||
@Override
|
||||
public void onAnimationStart(Animation animation) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationEnd(Animation animation) {
|
||||
mToolbarLayout.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationRepeat(Animation animation) {
|
||||
}
|
||||
|
||||
});
|
||||
mToolbarLayout.startAnimation(hide);
|
||||
Log.i(Constants.TAG, "Hide");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toggleActionBar(){
|
||||
if (mFullScreen) {
|
||||
if (mToolbarLayout.getVisibility() != View.VISIBLE) {
|
||||
showActionBar();
|
||||
} else {
|
||||
hideActionBar();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -2346,6 +2403,37 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl
|
||||
* if (!mActionBar.isShowing() && mFullScreen) { mActionBar.show(); }
|
||||
*/
|
||||
// TODO
|
||||
if (mFullScreen) {
|
||||
if (mBrowserFrame.findViewById(R.id.toolbar_layout) == null) {
|
||||
mUiLayout.removeView(mToolbarLayout);
|
||||
mBrowserFrame.addView(mToolbarLayout);
|
||||
mToolbarLayout.bringToFront();
|
||||
Log.i(Constants.TAG, "Move view to browser frame");
|
||||
}
|
||||
if (mToolbarLayout.getVisibility() != View.VISIBLE) {
|
||||
Animation show = AnimationUtils.loadAnimation(mContext, R.anim.slide_down);
|
||||
show.setAnimationListener(new AnimationListener(){
|
||||
|
||||
@Override
|
||||
public void onAnimationStart(Animation animation) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationEnd(Animation animation) {
|
||||
mToolbarLayout.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationRepeat(Animation animation) {
|
||||
}
|
||||
|
||||
});
|
||||
mToolbarLayout.startAnimation(show);
|
||||
Log.i(Constants.TAG, "Show");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -41,6 +41,8 @@ public interface BrowserController {
|
||||
public void hideActionBar();
|
||||
|
||||
public void showActionBar();
|
||||
|
||||
public void toggleActionBar();
|
||||
|
||||
public void longClickPage(String url);
|
||||
|
||||
|
@ -17,6 +17,7 @@ import android.graphics.Paint;
|
||||
import android.net.MailTo;
|
||||
import android.net.Uri;
|
||||
import android.net.http.SslError;
|
||||
import android.os.Build;
|
||||
import android.os.Message;
|
||||
import android.text.InputType;
|
||||
import android.text.method.PasswordTransformationMethod;
|
||||
@ -121,7 +122,11 @@ public class LightningView {
|
||||
mLocation = mY;
|
||||
} else if (mAction == MotionEvent.ACTION_UP) {
|
||||
if ((mY - mLocation) > 10) {
|
||||
mBrowserController.showActionBar();
|
||||
if (mWebView.getScrollY() != 0) {
|
||||
mBrowserController.showActionBar();
|
||||
} else {
|
||||
mBrowserController.toggleActionBar();
|
||||
}
|
||||
} else if ((mY - mLocation) < -10) {
|
||||
mBrowserController.hideActionBar();
|
||||
}
|
||||
@ -373,8 +378,11 @@ public class LightningView {
|
||||
if (API < 19) {
|
||||
settings.setDatabasePath(context.getCacheDir() + "/databases");
|
||||
}
|
||||
mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
|
||||
//TODO
|
||||
if (API >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
mWebView.getSettings()
|
||||
.setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
|
||||
}
|
||||
// TODO
|
||||
settings.setDomStorageEnabled(true);
|
||||
settings.setAppCacheEnabled(true);
|
||||
settings.setAppCachePath(context.getCacheDir().toString());
|
||||
@ -477,12 +485,12 @@ public class LightningView {
|
||||
ColorMatrixColorFilter filterInvertGray = new ColorMatrixColorFilter(concat);
|
||||
mPaint.setColorFilter(filterInvertGray);
|
||||
setHardwareRendering();
|
||||
|
||||
|
||||
mInvertPage = true;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public synchronized void pauseTimers() {
|
||||
@ -739,7 +747,7 @@ public class LightningView {
|
||||
} else {
|
||||
mTitle.setTitle(view.getTitle());
|
||||
}
|
||||
if(API >= android.os.Build.VERSION_CODES.KITKAT && mInvertPage){
|
||||
if (API >= android.os.Build.VERSION_CODES.KITKAT && mInvertPage) {
|
||||
view.evaluateJavascript(Constants.JAVASCRIPT_INVERT_PAGE, null);
|
||||
}
|
||||
mBrowserController.update();
|
||||
@ -751,7 +759,7 @@ public class LightningView {
|
||||
mBrowserController.updateUrl(url, false);
|
||||
mBrowserController.showActionBar();
|
||||
}
|
||||
|
||||
|
||||
mTitle.setFavicon(mWebpageBitmap);
|
||||
mBrowserController.update();
|
||||
}
|
||||
@ -799,24 +807,26 @@ public class LightningView {
|
||||
alert.show();
|
||||
|
||||
}
|
||||
|
||||
boolean isRunning = false;
|
||||
|
||||
@Override
|
||||
public void onScaleChanged(final WebView view, final float oldScale, final float newScale) {
|
||||
if (view.isShown() && mTextReflow && API >= android.os.Build.VERSION_CODES.KITKAT) {
|
||||
view.invalidate();
|
||||
if(isRunning)
|
||||
if (isRunning)
|
||||
return;
|
||||
isRunning = view.postDelayed(new Runnable(){
|
||||
isRunning = view.postDelayed(new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
//TODO
|
||||
// TODO
|
||||
view.evaluateJavascript(Constants.JAVASCRIPT_TEXT_REFLOW, null);
|
||||
isRunning = false;
|
||||
}
|
||||
|
||||
|
||||
}, 100);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -1095,7 +1105,7 @@ public class LightningView {
|
||||
|
||||
public void setTitleAndFavicon(String title, Bitmap favicon) {
|
||||
mTitle = title;
|
||||
|
||||
|
||||
if (favicon == null) {
|
||||
mFavicon = mDefaultIcon;
|
||||
} else {
|
||||
@ -1110,30 +1120,29 @@ public class LightningView {
|
||||
public Bitmap getFavicon() {
|
||||
return mFavicon;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private class CustomGestureListener extends SimpleOnGestureListener {
|
||||
|
||||
/**
|
||||
* Without this, onLongPress is not called when user is zooming
|
||||
* using two fingers, but is when using only one.
|
||||
*
|
||||
* The required behaviour is to not trigger this when the
|
||||
* user is zooming, it shouldn't matter how much fingers
|
||||
* the user's using.
|
||||
* Without this, onLongPress is not called when user is zooming using
|
||||
* two fingers, but is when using only one.
|
||||
*
|
||||
* The required behaviour is to not trigger this when the user is
|
||||
* zooming, it shouldn't matter how much fingers the user's using.
|
||||
*/
|
||||
private boolean mCanTriggerLongPress = true;
|
||||
|
||||
@Override
|
||||
public void onLongPress(MotionEvent e) {
|
||||
if(mCanTriggerLongPress)
|
||||
if (mCanTriggerLongPress)
|
||||
mBrowserController.onLongPress();
|
||||
}
|
||||
|
||||
/**
|
||||
* Is called when the user is swiping after the doubletap,
|
||||
* which in our case means that he is zooming.
|
||||
* Is called when the user is swiping after the doubletap, which in our
|
||||
* case means that he is zooming.
|
||||
*/
|
||||
@Override
|
||||
public boolean onDoubleTapEvent(MotionEvent e) {
|
||||
@ -1142,8 +1151,8 @@ public class LightningView {
|
||||
}
|
||||
|
||||
/**
|
||||
* Is called when something is starting being pressed,
|
||||
* always before onLongPress.
|
||||
* Is called when something is starting being pressed, always before
|
||||
* onLongPress.
|
||||
*/
|
||||
@Override
|
||||
public void onShowPress(MotionEvent e) {
|
||||
|
Loading…
Reference in New Issue
Block a user