2014-09-15 3 views
-1

Я пытаюсь нарисовать изображение в качестве фона в приложении живых обоев, но я не знаю, как сделать его прокруткой в ​​соответствии с нажатием кнопки справа/слева (точно так же, как вы установили простой рисунок обоев, если вы переместите меню на крайнюю правую, фон также перейти на крайнюю правую), вот код в живой приложение обои:Как сделать фоновый прокрутка в соответствии с пользователем нажмите вправо/влево в приложении для живых обоев?

private void drawFrame() { 

    SurfaceHolder holder=getSurfaceHolder(); 
    Canvas c=holder.lockCanvas(); 

    c.drawBitmap(bg, 0, 0, paint); 

    holder.unlockCanvasAndPost(c); 

    handler.removeCallbacks(drawThread); 
    if (visible) handler.postDelayed(drawThread,100); 
} 

Приведенный выше код только нарисовать фон на холсте, но я хочу сделать его такой же, как простой обои. Например, очень широкая картинка, как это происходит, только показывает ту часть, которая подходит для «текущего» экрана. Я вижу другие живые обои, в которых изображение прокручивается при перемещении в другое рабочее пространство влево или вправо ... это простой вариант или любой другой пример, который я могу выполнить?

ответ

0

вот ответ

private int _xOffset = 0; 
    private int _yOffset = 0; 

    public void onOffsetsChanged(float xOffset,float yOffset, 
     float xStep,float yStep,int xPixels,int yPixels) { 
     _xOffset = xPixels; 
     _yOffset = yPixels; 
     drawFrame(); 
    } 

в функции drawFrame():

c.drawBitmap(bg, _xOffset, _yOffset, paint); 

 Смежные вопросы

  • Нет связанных вопросов^_^