Android Open Source - MrParkingNavigator Navigator Floor View From Project Back to project page MrParkingNavigator .
License The source code is released under:
MIT License
If you think the Android project MrParkingNavigator listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package ru.mail.parking.ui;
/ / w w w . j a v a 2 s . c o m
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.view.ScaleGestureDetector;
import ru.mail.parking.App;
import ru.mail.parking.floors.Floor;
import ru.mail.parking.floors.Place;
import ru.mail.parking.utils.Utils;
public class NavigatorFloorView implements MultiscrollView.AttachedView {
private static final int MARKER_COLOR = 0x707070FF;
private static final int MARKER_WIDTH = 49;
private static final int MARKER_HEIGHT = 19;
private final MultiscrollView mScrollView;
private final Paint mFloorPaint = new Paint();
private final Paint mMarkerPaint = new Paint();
private final float mMarkerLeft;
private final float mMarkerTop;
private final float mMarkerWidth;
private final float mMarkerHeight;
private final Bitmap mFloor;
private float mZoom;
private final int mWidth;
private final int mHeight;
public NavigatorFloorView(Place place, MultiscrollView scrollView) {
mMarkerLeft = Utils.dp(place.getCoordX());
mMarkerTop = Utils.dp(place.getCoordY());
mMarkerWidth = Utils.dp(place.isVertical() ? MARKER_HEIGHT : MARKER_WIDTH);
mMarkerHeight = Utils.dp(place.isVertical() ? MARKER_WIDTH : MARKER_HEIGHT);
Floor f = App.floors().getFloor(place.getFloor());
mFloor = BitmapFactory.decodeResource(App.app().getResources(), f.getImageRes());
mMarkerPaint.setColor(MARKER_COLOR);
mWidth = mFloor.getWidth();
mHeight = mFloor.getHeight();
mScrollView = scrollView;
mZoom = 0.5f;
}
@Override
public int getWidth() {
return (int )(mWidth * mZoom);
}
@Override
public int getHeight() {
return (int )(mHeight * mZoom);
}
@Override
public void draw(Canvas canvas, int scrollX, int scrollY) {
canvas.save();
canvas.scale(mZoom, mZoom);
canvas.drawBitmap(mFloor, 0, 0, mFloorPaint);
canvas.translate(mMarkerLeft, mMarkerTop);
canvas.drawRect(0, 0, mMarkerWidth, mMarkerHeight, mMarkerPaint);
canvas.restore();
}
@Override
public boolean onTap(int x, int y) {
return false;
}
@Override
public void onHolderReady(int width, int height) {
mScrollView.onAttachedViewResized();
}
@Override
public ScaleGestureDetector.SimpleOnScaleGestureListener createZoomListener() {
return new ScaleGestureDetector.SimpleOnScaleGestureListener() {
private float mInitialZoom = 1.0f;
@Override
public boolean onScale(ScaleGestureDetector detector) {
float zoom = mInitialZoom * detector.getScaleFactor();
if (zoom < 0.5f || zoom > 3.0f) {
mInitialZoom = zoom;
return true;
}
mZoom = zoom;
mScrollView.onAttachedViewResized();
mScrollView.invalidate();
return false;
}
@Override
public boolean onScaleBegin(ScaleGestureDetector detector) {
mInitialZoom = mZoom;
return super.onScaleBegin(detector);
}
};
}
}
Java Source Code List com.sonyericsson.extras.liveware.aef.control.Control.java com.sonyericsson.extras.liveware.aef.control.package-info.java com.sonyericsson.extras.liveware.aef.notification.Notification.java com.sonyericsson.extras.liveware.aef.notification.package-info.java com.sonyericsson.extras.liveware.aef.registration.Registration.java com.sonyericsson.extras.liveware.aef.registration.package-info.java com.sonyericsson.extras.liveware.aef.sensor.Sensor.java com.sonyericsson.extras.liveware.aef.sensor.package-info.java com.sonyericsson.extras.liveware.extension.util.Dbg.java com.sonyericsson.extras.liveware.extension.util.ExtensionService.java com.sonyericsson.extras.liveware.extension.util.ExtensionUtils.java com.sonyericsson.extras.liveware.extension.util.control.ControlExtension.java com.sonyericsson.extras.liveware.extension.util.control.ControlListItem.java com.sonyericsson.extras.liveware.extension.util.control.ControlObjectClickEvent.java com.sonyericsson.extras.liveware.extension.util.control.ControlTouchEvent.java com.sonyericsson.extras.liveware.extension.util.control.ControlViewGroup.java com.sonyericsson.extras.liveware.extension.util.control.ControlView.java com.sonyericsson.extras.liveware.extension.util.notification.DelayedContentObserver.java com.sonyericsson.extras.liveware.extension.util.notification.NotificationUtil.java com.sonyericsson.extras.liveware.extension.util.registration.DeviceInfoHelper.java com.sonyericsson.extras.liveware.extension.util.registration.DeviceInfo.java com.sonyericsson.extras.liveware.extension.util.registration.DisplayInfo.java com.sonyericsson.extras.liveware.extension.util.registration.HostApplicationInfo.java com.sonyericsson.extras.liveware.extension.util.registration.IRegisterCallback.java com.sonyericsson.extras.liveware.extension.util.registration.InputInfo.java com.sonyericsson.extras.liveware.extension.util.registration.KeyPadInfo.java com.sonyericsson.extras.liveware.extension.util.registration.RegisterExtensionTask.java com.sonyericsson.extras.liveware.extension.util.registration.RegistrationAdapter.java com.sonyericsson.extras.liveware.extension.util.registration.RegistrationInformation.java com.sonyericsson.extras.liveware.extension.util.sensor.AccessorySensorEventListener.java com.sonyericsson.extras.liveware.extension.util.sensor.AccessorySensorEvent.java com.sonyericsson.extras.liveware.extension.util.sensor.AccessorySensorException.java com.sonyericsson.extras.liveware.extension.util.sensor.AccessorySensorManager.java com.sonyericsson.extras.liveware.extension.util.sensor.AccessorySensorType.java com.sonyericsson.extras.liveware.extension.util.sensor.AccessorySensor.java ru.mail.parking.App.java ru.mail.parking.Preferences.java ru.mail.parking.floors.FloorNavigator.java ru.mail.parking.floors.Floor.java ru.mail.parking.floors.Place.java ru.mail.parking.sw2.SwControlFlow.java ru.mail.parking.sw2.screens.SwBaseScreen.java ru.mail.parking.sw2.screens.SwEnterPlaceScreen.java ru.mail.parking.sw2.screens.SwFreePlacesScreen.java ru.mail.parking.sw2.screens.SwNavigatorScreen.java ru.mail.parking.sw2.screens.SwPlaceScreen.java ru.mail.parking.sw2.system.SwReceiver.java ru.mail.parking.sw2.system.SwRegInfo.java ru.mail.parking.sw2.system.SwService.java ru.mail.parking.ui.AboutActivity.java ru.mail.parking.ui.DataDetailsActivity.java ru.mail.parking.ui.EnterPlaceActivity.java ru.mail.parking.ui.MultiscrollView.java ru.mail.parking.ui.NavigatorActivity.java ru.mail.parking.ui.NavigatorFloorView.java ru.mail.parking.ui.SettingsActivity.java ru.mail.parking.utils.NetworkAwaiter.java ru.mail.parking.utils.NetworkStateReceiver.java ru.mail.parking.utils.Utils.java ru.mail.parking.widget.MainReceiver.java ru.mail.parking.widget.MainWidgetProvider.java ru.mail.parking.widget.SmartUpdate.java ru.mail.parking.widget.UpdateService.java