프로젝트/MiTweet
MiTweet 개발일지 6
해스끼
2020. 8. 28. 13:35
``TweetMiniView``를 다듬었다.
``DynamicGridImageView`` 버그 수정
오늘 사진 3개짜리 트윗을 불러오는 테스트를 했는데, 사진이 제대로 표시되지 않았다.

문제는 레이아웃이었다. 이미지 로드는 제대로 됐지만, 커스텀 뷰 ``DynamicGridImageView``의 ``width``가 ``-2``로 설정되어 있었다. 분명히 xml에서는 ``MATCH_PARENT``로 했음에도 불구하고..
해결 방법은 수동으로 ``LayoutParams``를 설정하면 된다.
// width, height
image_grid_view.layoutParams = LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)

해결 완료!
``TweetMiniView``에 비디오 뷰 추가
이미지를 보여주는 데 너무 집중한 나머지 비디오를 까먹고 있었다. 안드로이드의 기본 ``VideoView``를 사용할 수도 있지만, 오픈 소스 프로젝트 ``Exoplayer``가 유명하길래 사용해 보았다.
implementation 'com.google.android.exoplayer:exoplayer:2.11.8'
하나의 트윗에 비디오와 이미지가 모두 존재할 수는 없으므로, 미디어의 타입에 따라 비디오 또는 이미지를 보여줘야 한다. ``Twitter4J``에서는 미디어 객체의 타입을 쉽게 알 수 있으므로, 타입에 따라 적절한 뷰를 보여주도록 코드를 작성했다.
미디어 타입은 ``image``, ``video``, ``animated_gif`` 세 개로 나뉘지만, ``ImageView``가 gif도 보여준다고 하여 비디오라면 ``ExoPlayer``를 보여주고, 비디오가 아니라면 ``ImageView``를 보여주면 된다.

그러고 보니 비디오 트윗도 작성할 수 있게 해야 하는데? 이건 아마 나중에..?
TODO
- 답글 불러오기
- 타임라인 구현 - ``RecyclerView`` 작성하기
- 타임라인 데이터베이스 정의