在选座的JavaBean里面,需要侧量绘画的图片样式
// 声明上、下、左、右 的变量值
var left : Int = 0
var right : Int = 0
var top : Int = 0
var bottom : Int = 0
//先创建一个绘画的方法,
fun onDraws(canvas: Canvas?,context: Context){
var setabitmap : Bitmap? = null
//开始判断状态来设置电影院座位的样式
when(status){
1 ->{
setabitmap = (context.resources.getDrawable(R.drawable.s1) as BitmapDrawable).bitmap
}
2 ->{
setabitmap = (context.resources.getDrawable(R.drawable.s2) as BitmapDrawable).bitmap
}
3 ->{
setabitmap = (context.resources.getDrawable(R.drawable.s3) as BitmapDrawable).bitmap
}
4 ->{
setabitmap = (context.resources.getDrawable(R.drawable.s4) as BitmapDrawable).bitmap
}
5 ->{
setabitmap = (context.resources.getDrawable(R.drawable.s5) as BitmapDrawable).bitmap
}
}
}
setabitmap?.let {
//给定一个座位的大小
var seatSize = 75
//计算出座位的左边距
left = seat.toInt() * seatSize
//计算出座位的高
top = row.toInt() * seatSize
//计算座位的右边距,以及底部高度
right = left + seatSize
bottom = top + seatSize
//调用绘画的方法
canvas?.drawBitmap(it,left.toFloat(),top.toFloat(), Paint())
}
//创建一个可存取集合
var setList : MutableList<Seat> = mutableListOf()
//创建一个添加数据的方法
fun seatAdd(seat: List<Seat>){
this.setList.addAll(seat)
//刷新
invalidate()
}
//声明绘画的方法
override fun onDraw(canvas: Canvas?) {
super.onDraw(canvas)
setList.forEach {
//调用JavaBean里面自定义的方法来设置,并绘画
it.onDraws(canvas,context)
}
}
//点击座位的时候触发该方法,进行选座
override fun onTouchEvent(event: MotionEvent?): Boolean {
if(event?.action == MotionEvent.ACTION_UP){
setList.forEach {
if(event.x > it.left && event.x < it.right && event.y > it.top && event.y < it.bottom){
when(it.status){
1 ->{
Toast.makeText(context,"座位不可选!!!",Toast.LENGTH_SHORT).show()
}
2 ->{
Toast.makeText(context,"座位已售完!!!",Toast.LENGTH_SHORT).show()
}
3 ->{
it.status = 4
}
4 ->{
it.status = 3
}
5 ->{
Toast.makeText(context,"座位已锁定!!!",Toast.LENGTH_SHORT).show()
}
}
}
}
}
invalidate()
return true
}
安装 npm install vditor -s 引用 导入依赖包 import Vditor from "vditor"; 导...
本文实例为大家分享了vue使用过滤器格式化日期的具体代码,供大家参考,具体内容...
当我在 Linux 上测试软件时(这是我工作中的一个常规部分),我需要使用多台运行 L...
我们都知道,保护敏感信息至关重要。幸运的是,现在大多数企业都拥有可靠的网络...
本文转载自微信公众号「程序员内点事」,作者程序员内点事 。转载本文请联系程序...
低版本VS项目在VS2019无法正常编译的问题 这里指的编译并不准确,只是为了方便说...
这是第 95 篇不掺水的原创,想获取更多原创好文,请搜索公众号关注我们吧~ 本文...
话不多说,请看代码 !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
是这样的,今天我本来要做一个弹窗, 后台php交给我的任务,对于这样的问题与我...
js代码: window.alert = function(msg, callback) {var div = document.createE...