2011-09-25 40 views
0

现在我正在构建Android游戏。我有一个类game.java,它调用board.xml作为视图。 Board.xml具有以下内容:将视图标记为另一个类的脏

... //Score info 
<edu.xxx.yyy.zzz.BoardView android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1"/> 
... //pause button 
... //submit button 

BoardView是Java类,它扩展了View并用于绘制游戏板。一切正常显示。我想知道我是否可以在game.java中实现可以将BoardView的区域标记为脏的代码(即,在我点击提交按钮来更改一些全局变量之后)。

回答

1

给这个BoardView在XML中的ID与属性

android:id="@+id/myBoardView" 

然后就抢使用findViewById

的BoardView
BoardView myBV = (BoardView) findViewById(R.id.myBoardView); 

然后简单的标记区域脏,你想通过使用弄脏了无效方法

myBV.invalidate(); //invalidates the entire BoardView 

Rect dirty = new Rect(...); 
myBV.invalidate(dirty); //marks the area defined by dirty as dirty 

int left = 0; int right = 10; int top = 0; int bot = 10; 
myBV.invalidate(left, top, right, bot); //invalidates the area defined by these coords as dirty 
相关问题