View dayView = View.inflate(context, R.layout.calendar_day, null);
上面这个View是通过xml定义的,现在我需要在这个View上画一个边框,但是已经没法重写他的onDraw方法啦。
我找了一下,也无法获得这个View的Canvas对象。各位有好办法吗?

解决方案 »

  1.   

    可以自定义一个View继承LineLayout(或是其他几个容器类), 然后早onCreate里setContentView( R.layout.calendar_day), 仍然能够使用xml中定义的布局, 然后重写onDraw()方法就行了...
      

  2.   


    setContentView 是Activity的方法,layout没有啊 
      

  3.   

    囧....
    这样吧, 你看下你写的那个xml文件顶级的容器类是啥, 比如说是LineLayout, 然后自定义个一个容器类SelfLineLayout extends LineLayout, 然后把xml文件中的顶级容器类换成自定义的SelfLineLayout类, 重写它的 onDraw()方法就行了....
      

  4.   

    View 本身有一个draw(Canvas canvas)方法,不知道能不能直接使用呢。
      

  5.   

    写一个透明的边框view,加到这个view上
      

  6.   

    你要自己写类吧!用view不行吧,自己写一个view类