资源简介
电影做选座功能有情侣坐,也可以用在演唱会等等。
代码片段和文件信息
package view;
import android.animation.Animator;
import android.animation.TypeEvaluator;
import android.animation.ValueAnimator;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Point;
import android.graphics.RectF;
import android.graphics.Typeface;
import android.os.Handler;
import android.text.TextPaint;
import android.util.AttributeSet;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.view.View;
import android.view.animation.DecelerateInterpolator;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Collections;
import cn.com.haohongcinema.R;
/**
* Created by 自定义电影座位 on 16/6/16.
*/
public class SeatTable extends View {
private final boolean DBG = false;
Paint paint = new Paint();
Paint overviewPaint=new Paint();
Paint lineNumberPaint;
float lineNumberTxtHeight;
/**
* 设置行号 默认显示 123....数字
* @param lineNumbers
*/
public void setLineNumbers(ArrayList lineNumbers) {
this.lineNumbers = lineNumbers;
invalidate();
}
/**
* 用来保存所有行号
*/
ArrayList lineNumbers = new ArrayList<>();
Paint.FontMetrics lineNumberPaintFontMetrics;
Matrix matrix = new Matrix();
/**
* 座位水平间距
*/
int spacing;
/**
* 座位垂直间距
*/
int verSpacing;
/**
* 行号宽度
*/
int numberWidth;
/**
* 行数
*/
int row;
/**
* 列数
*/
int column;
/**
* 可选时座位的图片
*/
Bitmap seatBitmap;
/**
* 选中时座位的图片
*/
Bitmap checkedSeatBitmap;
/**
* 情侣坐
*/
Bitmap friendBitmap;
/**
* 座位已经售出时的图片
*/
Bitmap seatSoldBitmap;
Bitmap overviewBitmap;
int lastX;
int lastY;
/**
* 整个座位图的宽度
*/
int seatBitmapWidth;
/**
* 整个座位图的高度
*/
int seatBitmapHeight;
/**
* 标识是否需要绘制座位图
*/
boolean isNeedDrawSeatBitmap = true;
/**
* 概览图白色方块高度
*/
float rectHeight;
/**
* 概览图白色方块的宽度
*/
float rectWidth;
/**
* 概览图上方块的水平间距
*/
float overviewSpacing;
/**
* 概览图上方块的垂直间距
*/
float overviewVerSpacing;
/**
* 概览图的比例
*/
float overviewScale = 4.8f;
/**
* 荧幕高度
*/
float screenHeight;
/**
* 荧幕默认宽度与座位图的比例
*/
float screenWidthScale = 0.5f;
/**
* 荧幕最小宽度
*/
int defaultScreenWidth;
/**
* 标识是否正在缩放
*/
boolean isScaling;
float scaleX scaleY;
/**
* 是否是第一次缩放
*/
boolean firstScale = true;
/**
* 最多可以选择的座位数量
*/
int maxSelected = Integer.MAX_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-03-17 10:43 电影座选座有情侣座\
文件 627 2017-03-17 10:47 电影座选座有情侣座\attrs.txt
文件 15036 2017-02-27 17:27 电影座选座有情侣座\friends.png
文件 1316 2016-08-05 17:41 电影座选座有情侣座\seat_gray.png
文件 1636 2016-08-05 17:41 电影座选座有情侣座\seat_green.png
文件 1634 2016-08-05 17:41 电影座选座有情侣座\seat_sold.png
文件 39080 2017-03-09 16:33 电影座选座有情侣座\SeatTable.java
- 上一篇:AppScan9.0.3.7漏洞扫描工具
- 下一篇:RPLIDAR基础源码
评论
共有 条评论