require "import"
import "android.app.*"
import "android.os.*"
import "android.widget.*"
import "android.view.*"
import "android.graphics.*"


layout={
  FrameLayout,
  layout_width="fill",
  layout_height="fill",
  {
    ListView,
    layout_width="fill",
    layout_height="fill",
    id="list",
  },
  {
    LinearLayout,
    layout_width="fill",
    layout_height="100dp",
    clickable="true",
    id="ll",
  },
}

activity.setContentView(loadlayout(layout))

--作业:画贝塞尔缺口控件



myLuaDrawable=LuaDrawable(function(mCanvas,mPaint,mDrawable)

  --画笔属性
  mPaint.setColor(0x88ff0000)
  mPaint.setAntiAlias(true)
  mPaint.setStrokeWidth(20)
  mPaint.setStyle(Paint.Style.FILL)
  mPaint.setStrokeCap(Paint.Cap.ROUND)


  --获取控件宽和高
  w=mDrawable.getBounds().right
  h=mDrawable.getBounds().bottom


  --路径
  path=Path()
  path.moveTo(0, 0)
  path.quadTo(w,0,w,0)
  path.quadTo(w,h,w,h)
  path.quadTo(w/2,h/5,0,h)



  --画布背景透明
  mCanvas.drawColor(0x00ffffff)
  mCanvas.drawPath(path, mPaint);

end)

--绘制的Drawble对象设置成控件背景
ll.background=myLuaDrawable
最后修改:2020 年 08 月 20 日
如果觉得我的文章对你有用,请随意赞赏