마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

scroll view 안에 linearLayout 스크롤 동작 안하는 이유

0 추천

안녕하세요 안드로이드 초보입니다.

<ScrollView
    android:id="@+id/scrollView"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:fillViewport="true">

    <LinearLayout
        android:id="@+id/snapShot"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#4d000000"
        android:orientation="vertical">
    </LinearLayout>
</ScrollView>
@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    int width, height;

    width = this.getResources().getDisplayMetrics().widthPixels;
    int snap_width = mBitmap.getWidth();
    int snap_height = mBitmap.getHeight();

    float di = (float)snap_width/(float)width;
    height = (int)((float)snap_height/di);

    reBitmap = Bitmap.createScaledBitmap(mBitmap,width,height,true);

    canvas.drawBitmap(reBitmap,0.0f,0.0f,null);
}
Bitmap bitmap = BitmapFactory.decodeByteArray(snapShotDataBuffer,0,snapShotDataBuffer.length);
BitmapView bitmapView = new BitmapView(this,bitmap);

linearLayout.removeAllViewsInLayout();
linearLayout.addView(bitmapView);

 

위 코드와 같이 xml에서 scrollview 안에 LinearLayout을 설정하였고

Bitmap을 화면 크기에 맞춰 LinearLayout에 넣도록 하였습니다.

문제는 이미지가 가로로 바뀌었을 때 밑에 부분이 짤리는데 스크롤이 나타나지 않습니다.

구글링을 많이 했는데 무엇이 문제인지 잘 모르겠네요 

파워백곰 (770 포인트) 님이 2015년 12월 23일 질문

1개의 답변

0 추천
 
채택된 답변
스크롤뷰는 height 가 왜 0 인가요? match_parent 로 변경하세요
aucd29 (218,390 포인트) 님이 2015년 12월 23일 답변
파워백곰님이 2015년 12월 28일 채택됨
이것 저것 다 해보다가 보니 저렇게 되었네요
일단 bitmap은 다 나오긴 하는데 화면에서 짤릴때 스크롤이 안되네요
다시 보니 linear 는 wrap 이 맞을 거 같고 테스트로 ImageView 를 넣어 scroll 이 잘되는걸 확인하시고,
BitmapView는 직접 만든것 인가요?
...