未定义标题

来源:互联网 发布:购买网络耗材的请示 编辑:程序博客网 时间:2024/05/16 13:48

         setWillNotDraw()

         http://blog.csdn.net/look85/article/details/8442675     

       If this view doesn't do any drawing on its own, set this flag to allow further optimizations. By default, this flag is not set on View, but could be set on some View subclasses such as ViewGroup. Typically, if you override onDraw(Canvas)you should clear this flag.

    如果在当前的view上面不做任何的绘制操作,需要设置这个标记以便将来的更好的需要,默认的,这个标记在View里是不设定的。但是像View的一些子类如ViewGroup是可以设定的,典型的,你如果复写了onDraw(Canvas)方法,你需要清除此标记。

    设置view是否更改,如果开发者用自定义的view,重写ondraw()应该将调用此方法设置为false,这样程序会调用自定义的布局。

例如:public class VerticalViewPager extends ViewGroup ,如果重写 ondraw(),那 setWillNotDraw(false);


setDescendantFocusability()

http://flysnow.iteye.com/blog/1762556

三个常量可供设置

1.FOCUS_BEFORE_DESCENDANTS          ViewGroup本身先对焦点进行处理,如果没有处理则分发给child View进行处理

2.FOCUS_AFTER_DESCENDANTS             先分发给Child View进行处理,如果所有的Child View都没有处理,则自己再处理

3.FOCUS_BLOCK_DESCENDANTS            ViewGroup本身进行处理,不管是否处理成功,都不会分发给ChildView进行处理

设置后,会在requestFocus(int direction, Rect previouslyFocusedRect) 方法里根据设置进行相应的处理。PS: 这句还没测试,三个参数是有的。

0 0
原创粉丝点击