我知道這已經被問過,我經歷了所有的答案和不,這是不是,是的,我有在清單中命名的活動所以不是這樣。 這裏是我的問題: 我有一個精靈在屏幕上移動,當你在選擇livewallpaper的窗口中,我有一個首選項讓用戶選擇高度(這樣他們可以將精靈上移或下移)唯一的問題精靈是不斷移動的,所以當他們使用seekbar來移動精靈時,我得到了舊的'窗口已經聚焦,忽略了焦點增益「現在,如果我出去,當然再次回來,然後重新啓動它而新的偏好HIGHT已經在他們的所以它移動到新的高度,然後,但不是在實時預覽 這裏是精靈代碼:窗口已經集中,忽略了焦點收益對於提高雪碧的高度首選項
private void addShipOne() {
int heightPosition = (screenSized/2) - (screenSized//*this.bigShipHeight*/gettheFreakingHeight());
int widthPosition = 0;
Point startPoint = new Point(widthPosition, heightPosition);
this._shipone.add(new SpaceShipOne(this._context, this, startPoint, 125));
(約我使用來測試方法的名稱遺憾快速版我有點沮喪編輯在這一點)大聲笑
然後進入一個OnDraw方法,然後到渲染呈現它的一切。
public void render(){
Canvas canvas = null;
try{
canvas = this._surfaceHolder.lockCanvas(null);
synchronized (this._surfaceHolder) {
this.onDraw(canvas);
}
}finally{
if(canvas != null){
this._surfaceHolder.unlockCanvasAndPost(canvas);
}
}
}
我還有一個喜好,允許用戶選擇船的頻率出現,它工作正常,但它從左至右推移而改變船舶話,那麼它就更新的頻率,然後,但高度上沒有按」工作,我測試了日誌以確保int的高度能夠通過,並且它不這樣做,我唯一能想到的是當船左轉或右轉時可能會添加這個,但它不起作用它的外觀讓人感動。 this.bigShipHeight是新的高度值進入的地方(我只是用gettheFreakingHeight()測試另一種方式(我使用if else語句來使用frquency首選項,而不是很好地工作) 只需添加完整的代碼部分。 在的onDraw(帆布油畫) 我渲染_shipone這樣
for (Renderable renderable : this._shipone) {
renderable.render(canvas);
}
任何幫助,將不勝感激。提前 感謝 山姆