2012-04-02 7 views
2

나는 책 (도서관 선반의 종류)을 보여주는 응용 프로그램을 가지고 있습니다. 내 책이 GridView로 표시됩니다. 이제 배경 이미지 (책꽂이)를 설정하려고합니다.안드로이드에서 배경 스크롤

GridView의 android : background 속성을 설정하면 배경 이미지가 표시되지만 사용자가 스크롤 할 때 책이 많은 경우 책의 이미지 만 선반이 아닌 스크롤됩니다. 선반은 고정 된 위치에 있습니다.

어떻게 해결할 수 있습니까? 웹 브라우저 에서처럼 GridView 이미지와 배경을 스크롤해야합니다.

감사합니다.

+0

@ Seegei Delphis가 해결책을 찾았습니까? !!! –

답변

0

제가 생각하기에 가장 먼저 생각할 수있는 방법은 GridView 내의 각 개별보기의 배경을 타일로 설정하는 것입니다.이 타일은 다른 타일과 결합하여 책꽂이 모양을 만들어냅니다.

또는 GridView를 가로로 스크롤하면 문제가 해결 될 수도 있습니다. :)

+0

답장을 보내 주셔서 감사합니다. Jon. 두 번째 해결책은 아주 독창적입니다 :)) –

0

서브 클래스를 GridView으로 변경하고 dispatchDraw을 재정의하십시오. 이것은 영감을 얻은 ShelvesView입니다.

아래 코드는 테스트 한 결과입니다. bgBitmap은 타일링 비트 맵입니다.

@Override protected void dispatchDraw(Canvas canvas) { 
    final int count = getChildCount(); 
    final int top = count > 0 ? getChildAt(0).getTop() : 0; 

    if (p == null) { 
     p = new Paint(); 
     p.setShader(new BitmapShader(bgBitmap, TileMode.REPEAT, TileMode.REPEAT)); 
    } 

    canvas.save(); 
    canvas.translate(0, top); 
    canvas.drawPaint(p); 
    canvas.restore(); 

    super.dispatchDraw(canvas); 
}