안드로이드 개발 질문/답변
(글 수 45,052)
VideoView 로 미리보기를 추가하려고했더니
스크롤을 내리면 VideoView 의 사이즈만큼 검은공간이생깁니다..
VideoView에서 가져오는 URI는 , 내장갤러리에있는 동영상을 가지고 오구요..
vv 는 findById해서 위에서 비디오뷰를 가져온것입니다.
if (requestCode == REQUEST_VIDEO_GALLERY && resultCode == Activity.RESULT_OK) {
Uri curImgURI = data.getData();
MediaController mc;
try {
mc=new MediaController(this);
vv.setMediaController(mc);
vv.setVideoURI(curImgURI);
vv.start();
vuri=curImgURI.toString();
videotbl.setVisibility(videotbl.VISIBLE);
} catch (Exception e) {
e.printStackTrace();
}
}
======================xml 의 비디오뷰 부분입니다 ===================
<TableRow
android:id="@+id/videotbl"
android:visibility="gone">
<TextView
android:text="미리보기"
android:textStyle="bold"
android:textSize="15dp"
android:textColor="#000000"
android:layout_gravity="center_vertical|center_horizontal"
/>
<VideoView
android:layout_gravity="center_vertical|center_horizontal"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:layout_span="7"
android:id="@+id/video"
/>
</TableRow>
어떻게 해결할수있을까요?
스크롤을 내리면 VideoView 의 사이즈만큼 검은공간이생깁니다..
VideoView에서 가져오는 URI는 , 내장갤러리에있는 동영상을 가지고 오구요..
vv 는 findById해서 위에서 비디오뷰를 가져온것입니다.
if (requestCode == REQUEST_VIDEO_GALLERY && resultCode == Activity.RESULT_OK) {
Uri curImgURI = data.getData();
MediaController mc;
try {
mc=new MediaController(this);
vv.setMediaController(mc);
vv.setVideoURI(curImgURI);
vv.start();
vuri=curImgURI.toString();
videotbl.setVisibility(videotbl.VISIBLE);
} catch (Exception e) {
e.printStackTrace();
}
}
======================xml 의 비디오뷰 부분입니다 ===================
<TableRow
android:id="@+id/videotbl"
android:visibility="gone">
<TextView
android:text="미리보기"
android:textStyle="bold"
android:textSize="15dp"
android:textColor="#000000"
android:layout_gravity="center_vertical|center_horizontal"
/>
<VideoView
android:layout_gravity="center_vertical|center_horizontal"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:layout_span="7"
android:id="@+id/video"
/>
</TableRow>
어떻게 해결할수있을까요?
VideoView 를 스크롤 시킬때 requestLayout() 을 요청하여 화면을 갱신하면 잔상이 사라집니다.
ScrollView 를 상속받은 custom ScrollView 를 만들어서
아래 코드를 추가 하시면 해결 될겁니다.
public void computeScroll() {
super.computeScroll();
requestLayout();
}
하지만 VideoView 를 Scroll 시킬때 상단에 Scroll 되지 않는 다른 고정된 UI 가 있으면 VideoView 가 올라타 버리네요
이 문제는 아직 해결하지 못했습니다.