콘텐츠 플레이 리스트

- 플레이어 UI 추가
This commit is contained in:
klaus 2024-11-26 02:30:03 +09:00
parent 6b6280a782
commit 3004018ea9
11 changed files with 215 additions and 0 deletions

View File

@ -0,0 +1,15 @@
package kr.co.vividnext.sodalive.audio_content.playlist
import android.os.Bundle
import android.view.View
import kr.co.vividnext.sodalive.base.BaseFragment
import kr.co.vividnext.sodalive.databinding.FragmentAudioContentPlaylistBinding
class AudioContentPlayListPlayerFragment : BaseFragment<FragmentAudioContentPlaylistBinding>(
FragmentAudioContentPlaylistBinding::inflate
) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 717 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 542 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 823 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 822 B

View File

@ -0,0 +1,200 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black"
android:padding="20dp">
<ImageView
android:id="@+id/iv_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null"
android:src="@drawable/ic_close_white"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:ellipsize="end"
android:fontFamily="@font/gmarket_sans_medium"
android:maxLines="2"
android:textColor="@color/color_eeeeee"
android:textSize="16sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/iv_close"
tools:text="JFLA 커버곡 Avicii - Waiting For Love + Hey Brother" />
<ImageView
android:id="@+id/iv_creator_profile"
android:layout_width="26.7dp"
android:layout_height="26.7dp"
android:contentDescription="@null"
app:layout_constraintBottom_toBottomOf="@+id/iv_creator_follow"
app:layout_constraintStart_toStartOf="@+id/tv_title"
app:layout_constraintTop_toTopOf="@+id/iv_creator_follow"
tools:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/tv_creator_nickname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5.3dp"
android:fontFamily="@font/gmarket_sans_medium"
android:textColor="@color/color_909090"
android:textSize="13.3sp"
app:layout_constraintBottom_toBottomOf="@+id/iv_creator_profile"
app:layout_constraintStart_toEndOf="@+id/iv_creator_profile"
app:layout_constraintTop_toTopOf="@+id/iv_creator_profile"
tools:text="닉네임" />
<ImageView
android:id="@+id/iv_creator_follow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="21dp"
android:contentDescription="@null"
android:src="@drawable/btn_follow_big"
app:layout_constraintEnd_toEndOf="@+id/tv_title"
app:layout_constraintTop_toBottomOf="@+id/tv_title" />
<LinearLayout
android:layout_width="240dp"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toTopOf="@+id/sb_progress"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/iv_creator_follow">
<ImageView
android:id="@+id/iv_cover"
android:layout_width="240dp"
android:layout_height="240dp"
android:contentDescription="@null"
tools:src="@drawable/img_compleate_book" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="13.3dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_like_heart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null"
android:src="@drawable/ic_heart_eee" />
<ImageView
android:id="@+id/iv_comment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="13.3dp"
android:contentDescription="@null"
android:src="@drawable/ic_message_square_eee" />
</LinearLayout>
</LinearLayout>
<SeekBar
android:id="@+id/sb_progress"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="5.3dp"
app:layout_constraintBottom_toTopOf="@+id/tv_progress_time"
app:layout_constraintEnd_toEndOf="@+id/tv_total_time"
app:layout_constraintStart_toStartOf="@+id/tv_progress_time" />
<TextView
android:id="@+id/tv_progress_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="21dp"
android:fontFamily="@font/gmarket_sans_medium"
android:textColor="@color/color_bbbbbb"
android:textSize="12sp"
app:layout_constraintBottom_toTopOf="@+id/iv_play_or_pause"
app:layout_constraintStart_toStartOf="parent"
tools:text="02:36" />
<TextView
android:id="@+id/tv_total_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_medium"
android:textColor="@color/color_777777"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="@+id/tv_progress_time"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/tv_progress_time"
tools:text="06:19" />
<ImageView
android:id="@+id/iv_play_or_pause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="21dp"
android:contentDescription="@null"
android:src="@drawable/ic_player_play"
app:layout_constraintBottom_toTopOf="@+id/iv_playlist"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:id="@+id/iv_skip_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null"
android:src="@drawable/ic_skip_back"
app:layout_constraintBottom_toBottomOf="@+id/iv_play_or_pause"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/iv_play_or_pause" />
<ImageView
android:id="@+id/iv_prev_15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null"
android:src="@drawable/ic_player_prev_15"
app:layout_constraintBottom_toBottomOf="@+id/iv_play_or_pause"
app:layout_constraintEnd_toStartOf="@+id/iv_play_or_pause"
app:layout_constraintStart_toEndOf="@+id/iv_skip_back"
app:layout_constraintTop_toTopOf="@+id/iv_play_or_pause" />
<ImageView
android:id="@+id/iv_skip_forward"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null"
android:src="@drawable/ic_skip_forward"
app:layout_constraintBottom_toBottomOf="@+id/iv_play_or_pause"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/iv_play_or_pause" />
<ImageView
android:id="@+id/iv_next_15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null"
android:src="@drawable/ic_player_next_15"
app:layout_constraintBottom_toBottomOf="@+id/iv_play_or_pause"
app:layout_constraintEnd_toStartOf="@+id/iv_skip_forward"
app:layout_constraintStart_toEndOf="@+id/iv_play_or_pause"
app:layout_constraintTop_toTopOf="@+id/iv_play_or_pause" />
<ImageView
android:id="@+id/iv_playlist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null"
android:src="@drawable/ic_playlist"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>