mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-03 17:59:33 +02:00
Merge branch 'master' into 2.6-master
This commit is contained in:
commit
4635ff264a
3 changed files with 26 additions and 8 deletions
|
@ -55,6 +55,11 @@ abstract class InternalUtil {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void showToast(SuperActivityToast toast, final FBReaderMainActivity fbreader) {
|
static void showToast(SuperActivityToast toast, final FBReaderMainActivity fbreader) {
|
||||||
|
if (toast == null) {
|
||||||
|
fbreader.hideDictionarySelection();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
toast.setOnDismissWrapper(new OnDismissWrapper("dict", new SuperToast.OnDismissListener() {
|
toast.setOnDismissWrapper(new OnDismissWrapper("dict", new SuperToast.OnDismissListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onDismiss(View view) {
|
public void onDismiss(View view) {
|
||||||
|
|
|
@ -22,11 +22,7 @@ package org.geometerplus.android.util;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.AlertDialog;
|
import android.content.*;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.DialogInterface;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.content.ActivityNotFoundException;
|
|
||||||
import android.content.pm.*;
|
import android.content.pm.*;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
|
|
|
@ -45,7 +45,23 @@ public final class SlideAnimationProvider extends SimpleAnimationProvider {
|
||||||
ViewUtil.setColorLevel(myPaint, myColorLevel);
|
ViewUtil.setColorLevel(myPaint, myColorLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void drawShadow(Canvas canvas, int top, int bottom, int dX) {
|
private void drawShadowHorizontal(Canvas canvas, int left, int right, int dY) {
|
||||||
|
final GradientDrawable.Orientation orientation = dY > 0
|
||||||
|
? GradientDrawable.Orientation.BOTTOM_TOP
|
||||||
|
: GradientDrawable.Orientation.TOP_BOTTOM;
|
||||||
|
final int[] colors = new int[] { 0x46000000, 0x00000000 };
|
||||||
|
final GradientDrawable gradient = new GradientDrawable(orientation, colors);
|
||||||
|
gradient.setGradientType(GradientDrawable.LINEAR_GRADIENT);
|
||||||
|
gradient.setDither(true);
|
||||||
|
if (dY > 0) {
|
||||||
|
gradient.setBounds(left, dY - 16, right, dY);
|
||||||
|
} else {
|
||||||
|
gradient.setBounds(left, myHeight + dY, right, myHeight + dY + 16);
|
||||||
|
}
|
||||||
|
gradient.draw(canvas);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void drawShadowVertical(Canvas canvas, int top, int bottom, int dX) {
|
||||||
final GradientDrawable.Orientation orientation = dX > 0
|
final GradientDrawable.Orientation orientation = dX > 0
|
||||||
? GradientDrawable.Orientation.RIGHT_LEFT
|
? GradientDrawable.Orientation.RIGHT_LEFT
|
||||||
: GradientDrawable.Orientation.LEFT_RIGHT;
|
: GradientDrawable.Orientation.LEFT_RIGHT;
|
||||||
|
@ -68,12 +84,13 @@ public final class SlideAnimationProvider extends SimpleAnimationProvider {
|
||||||
setDarkFilter(dX, myWidth);
|
setDarkFilter(dX, myWidth);
|
||||||
drawBitmapTo(canvas, 0, 0, myDarkPaint);
|
drawBitmapTo(canvas, 0, 0, myDarkPaint);
|
||||||
drawBitmapFrom(canvas, dX, 0, myPaint);
|
drawBitmapFrom(canvas, dX, 0, myPaint);
|
||||||
drawShadow(canvas, 0, myHeight, dX);
|
drawShadowVertical(canvas, 0, myHeight, dX);
|
||||||
} else {
|
} else {
|
||||||
final int dY = myEndY - myStartY;
|
final int dY = myEndY - myStartY;
|
||||||
setDarkFilter(dY, myHeight);
|
setDarkFilter(dY, myHeight);
|
||||||
drawBitmapTo(canvas, 0, 0, myDarkPaint);
|
drawBitmapTo(canvas, 0, 0, myDarkPaint);
|
||||||
drawBitmapFrom(canvas, 0, dY, myPaint);
|
drawBitmapFrom(canvas, 0, dY, myPaint);
|
||||||
|
drawShadowHorizontal(canvas, 0, myWidth, dY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,7 +116,7 @@ public final class SlideAnimationProvider extends SimpleAnimationProvider {
|
||||||
drawBitmapInternal(canvas, footerBitmap, myWidth + dX, myWidth, h, voffset, myDarkPaint);
|
drawBitmapInternal(canvas, footerBitmap, myWidth + dX, myWidth, h, voffset, myDarkPaint);
|
||||||
drawBitmapInternal(canvas, footerBitmap, 0, myWidth + dX, h, voffset, myPaint);
|
drawBitmapInternal(canvas, footerBitmap, 0, myWidth + dX, h, voffset, myPaint);
|
||||||
}
|
}
|
||||||
drawShadow(canvas, voffset, voffset + h, dX);
|
drawShadowVertical(canvas, voffset, voffset + h, dX);
|
||||||
} else {
|
} else {
|
||||||
canvas.drawBitmap(footerBitmap, 0, voffset, myPaint);
|
canvas.drawBitmap(footerBitmap, 0, voffset, myPaint);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue