From b717775a70b016731d1b8a5925e6de5380292548 Mon Sep 17 00:00:00 2001 From: BAEK0111 Date: Sun, 21 Apr 2024 00:58:29 +0900 Subject: [PATCH] =?UTF-8?q?[simba/#13]=20feat=203=EC=A3=BC=EC=B0=A8=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- UMC_6th/app/build.gradle.kts | 1 + .../java/com/example/umc_6th/AlbumFragment.kt | 67 +- .../com/example/umc_6th/AlbumVPAdapter.kt | 16 + .../com/example/umc_6th/DetailFragment.kt | 23 + .../java/com/example/umc_6th/HomeFragment.kt | 37 + .../com/example/umc_6th/LockerFragment.kt | 19 +- .../com/example/umc_6th/LockerVPAdapter.kt | 16 + .../com/example/umc_6th/MusicFileFragment.kt | 22 + .../com/example/umc_6th/PannelFragment.kt | 28 + .../com/example/umc_6th/PannelVPAdapter.kt | 22 + .../com/example/umc_6th/SavedAlbumFragment.kt | 23 + .../com/example/umc_6th/SavedSongFragment.kt | 22 + .../java/com/example/umc_6th/SongFragment.kt | 24 + .../java/com/example/umc_6th/VideoFragment.kt | 24 + .../app/src/main/res/drawable/blue_radius.xml | 6 + .../app/src/main/res/drawable/gray_radius.xml | 6 + .../src/main/res/layout/fragment_album.xml | 649 ++---------------- .../src/main/res/layout/fragment_detail.xml | 15 + .../app/src/main/res/layout/fragment_home.xml | 50 +- .../src/main/res/layout/fragment_locker.xml | 112 ++- .../res/layout/fragment_locker_musicfile.xml | 16 + .../res/layout/fragment_locker_savedalbum.xml | 17 + .../res/layout/fragment_locker_savedsong.xml | 16 + .../src/main/res/layout/fragment_pannel.xml | 18 + .../app/src/main/res/layout/fragment_song.xml | 549 +++++++++++++++ .../src/main/res/layout/fragment_video.xml | 16 + 26 files changed, 1173 insertions(+), 641 deletions(-) create mode 100644 UMC_6th/app/src/main/java/com/example/umc_6th/AlbumVPAdapter.kt create mode 100644 UMC_6th/app/src/main/java/com/example/umc_6th/DetailFragment.kt create mode 100644 UMC_6th/app/src/main/java/com/example/umc_6th/LockerVPAdapter.kt create mode 100644 UMC_6th/app/src/main/java/com/example/umc_6th/MusicFileFragment.kt create mode 100644 UMC_6th/app/src/main/java/com/example/umc_6th/PannelFragment.kt create mode 100644 UMC_6th/app/src/main/java/com/example/umc_6th/PannelVPAdapter.kt create mode 100644 UMC_6th/app/src/main/java/com/example/umc_6th/SavedAlbumFragment.kt create mode 100644 UMC_6th/app/src/main/java/com/example/umc_6th/SavedSongFragment.kt create mode 100644 UMC_6th/app/src/main/java/com/example/umc_6th/SongFragment.kt create mode 100644 UMC_6th/app/src/main/java/com/example/umc_6th/VideoFragment.kt create mode 100644 UMC_6th/app/src/main/res/drawable/blue_radius.xml create mode 100644 UMC_6th/app/src/main/res/drawable/gray_radius.xml create mode 100644 UMC_6th/app/src/main/res/layout/fragment_detail.xml create mode 100644 UMC_6th/app/src/main/res/layout/fragment_locker_musicfile.xml create mode 100644 UMC_6th/app/src/main/res/layout/fragment_locker_savedalbum.xml create mode 100644 UMC_6th/app/src/main/res/layout/fragment_locker_savedsong.xml create mode 100644 UMC_6th/app/src/main/res/layout/fragment_pannel.xml create mode 100644 UMC_6th/app/src/main/res/layout/fragment_song.xml create mode 100644 UMC_6th/app/src/main/res/layout/fragment_video.xml diff --git a/UMC_6th/app/build.gradle.kts b/UMC_6th/app/build.gradle.kts index cc9550a..cf9919f 100644 --- a/UMC_6th/app/build.gradle.kts +++ b/UMC_6th/app/build.gradle.kts @@ -41,6 +41,7 @@ android { dependencies { implementation ("androidx.viewpager2:viewpager2:1.0.0") + implementation ("me.relex:circleindicator:2.1.6") implementation("androidx.fragment:fragment-ktx:1.3.0") implementation("androidx.core:core-ktx:1.10.1") implementation("androidx.appcompat:appcompat:1.6.1") diff --git a/UMC_6th/app/src/main/java/com/example/umc_6th/AlbumFragment.kt b/UMC_6th/app/src/main/java/com/example/umc_6th/AlbumFragment.kt index cc6a50d..5271b5e 100644 --- a/UMC_6th/app/src/main/java/com/example/umc_6th/AlbumFragment.kt +++ b/UMC_6th/app/src/main/java/com/example/umc_6th/AlbumFragment.kt @@ -9,10 +9,14 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.setFragmentResultListener import com.example.umc_6th.databinding.FragmentAlbumBinding import com.example.umc_6th.databinding.FragmentAlbumBinding.inflate +import com.example.umc_6th.databinding.FragmentSongBinding +import com.google.android.material.tabs.TabLayoutMediator class AlbumFragment : Fragment() { - lateinit var binding: FragmentAlbumBinding + lateinit var binding : FragmentAlbumBinding + + private val information = arrayListOf("수록곡","상세정보","영상") override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -20,6 +24,16 @@ class AlbumFragment : Fragment() { ): View? { binding = inflate(inflater,container,false) + binding.albumBackIv.setOnClickListener{ + (context as MainActivity).supportFragmentManager.beginTransaction(). + replace(R.id.main_frm,HomeFragment()). + commitAllowingStateLoss() + } + + val albumAdapter = AlbumVPAdapter(this) + binding.albumContentVp.adapter = albumAdapter + + setFragmentResultListener("TitleInfo") { requestKey, bundle -> binding.albumMusicTitleTv.text = bundle.getString("title") } @@ -27,32 +41,35 @@ class AlbumFragment : Fragment() { binding.albumSingerNameTv.text = bundle.getString("singer") } - binding.albumBackIv.setOnClickListener{ - (context as MainActivity).supportFragmentManager.beginTransaction().replace(R.id.main_frm,HomeFragment()).commitAllowingStateLoss() - } + TabLayoutMediator(binding.albumContentTb,binding.albumContentVp){ + tab, position -> + tab.text = information[position] + }.attach() - binding.songLalacLayout.setOnClickListener{ - Toast.makeText(activity,"LILAC",Toast.LENGTH_SHORT).show() - } - binding.songFluLayout.setOnClickListener { - Toast.makeText(activity,"FLU", Toast.LENGTH_SHORT).show() - } - - binding.songCoinLayout.setOnClickListener { - Toast.makeText(activity,"Coin", Toast.LENGTH_SHORT).show() - } - - binding.songSpringLayout.setOnClickListener { - Toast.makeText(activity,"봄 안녕 봄", Toast.LENGTH_SHORT).show() - } - - binding.songCelebrityLayout.setOnClickListener { - Toast.makeText(activity,"Celebrity", Toast.LENGTH_SHORT).show() - } - binding.songSingLayout.setOnClickListener { - Toast.makeText(activity,"돌림노래 (Feat. DEAN)", Toast.LENGTH_SHORT).show() - } +// binding.songLalacLayout.setOnClickListener{ +// Toast.makeText(activity,"LILAC",Toast.LENGTH_SHORT).show() +// } +// +// binding.songFluLayout.setOnClickListener { +// Toast.makeText(activity,"FLU", Toast.LENGTH_SHORT).show() +// } +// +// binding.songCoinLayout.setOnClickListener { +// Toast.makeText(activity,"Coin", Toast.LENGTH_SHORT).show() +// } +// +// binding.songSpringLayout.setOnClickListener { +// Toast.makeText(activity,"봄 안녕 봄", Toast.LENGTH_SHORT).show() +// } +// +// binding.songCelebrityLayout.setOnClickListener { +// Toast.makeText(activity,"Celebrity", Toast.LENGTH_SHORT).show() +// } +// +// binding.songSingLayout.setOnClickListener { +// Toast.makeText(activity,"돌림노래 (Feat. DEAN)", Toast.LENGTH_SHORT).show() +// } return binding.root } } \ No newline at end of file diff --git a/UMC_6th/app/src/main/java/com/example/umc_6th/AlbumVPAdapter.kt b/UMC_6th/app/src/main/java/com/example/umc_6th/AlbumVPAdapter.kt new file mode 100644 index 0000000..c49f688 --- /dev/null +++ b/UMC_6th/app/src/main/java/com/example/umc_6th/AlbumVPAdapter.kt @@ -0,0 +1,16 @@ +package com.example.umc_6th + +import androidx.fragment.app.Fragment +import androidx.viewpager2.adapter.FragmentStateAdapter + +class AlbumVPAdapter(fragment:Fragment) : FragmentStateAdapter(fragment){ + override fun getItemCount(): Int = 3 + + override fun createFragment(position: Int): Fragment { + return when(position){ + 0 -> SongFragment() + 1 -> DetailFragment() + else -> VideoFragment() + } + } +} \ No newline at end of file diff --git a/UMC_6th/app/src/main/java/com/example/umc_6th/DetailFragment.kt b/UMC_6th/app/src/main/java/com/example/umc_6th/DetailFragment.kt new file mode 100644 index 0000000..a0716f4 --- /dev/null +++ b/UMC_6th/app/src/main/java/com/example/umc_6th/DetailFragment.kt @@ -0,0 +1,23 @@ +package com.example.umc_6th + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.example.umc_6th.databinding.FragmentDetailBinding + +class DetailFragment : Fragment(){ + + lateinit var binding : FragmentDetailBinding + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentDetailBinding.inflate(inflater,container,false) + + return binding.root + } +} \ No newline at end of file diff --git a/UMC_6th/app/src/main/java/com/example/umc_6th/HomeFragment.kt b/UMC_6th/app/src/main/java/com/example/umc_6th/HomeFragment.kt index e1b4563..f6d26a8 100644 --- a/UMC_6th/app/src/main/java/com/example/umc_6th/HomeFragment.kt +++ b/UMC_6th/app/src/main/java/com/example/umc_6th/HomeFragment.kt @@ -1,6 +1,8 @@ package com.example.umc_6th import android.os.Bundle +import android.os.Handler +import android.os.Looper import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View @@ -9,11 +11,16 @@ import androidx.core.os.bundleOf import androidx.fragment.app.setFragmentResult import androidx.viewpager2.widget.ViewPager2 import com.example.umc_6th.databinding.FragmentHomeBinding +import java.util.Timer +import java.util.TimerTask class HomeFragment : Fragment() { lateinit var binding: FragmentHomeBinding + private val timer = Timer() + private val handler = Handler(Looper.getMainLooper()) + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) } @@ -30,12 +37,42 @@ class HomeFragment : Fragment() { (context as MainActivity).supportFragmentManager.beginTransaction().replace(R.id.main_frm,AlbumFragment()).commitAllowingStateLoss() } + val bannerAdapter = BannerVPAdapter(this) bannerAdapter.addFragment(BannerFragment(R.drawable.img_home_viewpager_exp)) bannerAdapter.addFragment(BannerFragment(R.drawable.img_home_viewpager_exp2)) + binding.homeBannerVp.adapter = bannerAdapter binding.homeBannerVp.orientation = ViewPager2.ORIENTATION_HORIZONTAL + binding.homeBannerIndicator.setViewPager(binding.homeBannerVp) + + autoSlide(bannerAdapter) + + val pannelVPAdapter = PannelVPAdapter(this) + pannelVPAdapter.addFragment(PannelFragment(R.drawable.img_first_album_default)) + pannelVPAdapter.addFragment(PannelFragment(R.drawable.img_first_album_default)) + + binding.homePannelBackgroundVp.adapter = pannelVPAdapter + binding.homeBannerVp.orientation = ViewPager2.ORIENTATION_HORIZONTAL + + binding.homePannelIndicator.setViewPager(binding.homePannelBackgroundVp) + return binding.root } + private fun autoSlide(adapter: BannerVPAdapter) { + timer.scheduleAtFixedRate(object : TimerTask() { + override fun run() { + handler.post { + val nextItem = binding.homeBannerVp.currentItem + 1 + if (nextItem < adapter.itemCount) { + binding.homeBannerVp.currentItem = nextItem + } else { + binding.homeBannerVp.currentItem = 0 // 순환 + } + } + } + }, 3000, 3000) + } + } \ No newline at end of file diff --git a/UMC_6th/app/src/main/java/com/example/umc_6th/LockerFragment.kt b/UMC_6th/app/src/main/java/com/example/umc_6th/LockerFragment.kt index c01bd1c..df66144 100644 --- a/UMC_6th/app/src/main/java/com/example/umc_6th/LockerFragment.kt +++ b/UMC_6th/app/src/main/java/com/example/umc_6th/LockerFragment.kt @@ -5,18 +5,25 @@ import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import com.example.umc_6th.databinding.FragmentLockerBinding +import com.google.android.material.tabs.TabLayoutMediator class LockerFragment : Fragment() { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - } - + lateinit var binding: FragmentLockerBinding + private var information = arrayListOf("저장한 곡", "음악파일", "저장앨범") override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_locker, container, false) + binding = FragmentLockerBinding.inflate(inflater, container, false) + val lockerAdapter = LockerVPAdapter(this) + binding.lockerContentVp.adapter = lockerAdapter + TabLayoutMediator(binding.lockerContentTb,binding.lockerContentVp){ + tab,position -> + tab.text = information[position] + }.attach() + return binding.root } + } \ No newline at end of file diff --git a/UMC_6th/app/src/main/java/com/example/umc_6th/LockerVPAdapter.kt b/UMC_6th/app/src/main/java/com/example/umc_6th/LockerVPAdapter.kt new file mode 100644 index 0000000..5e10ab2 --- /dev/null +++ b/UMC_6th/app/src/main/java/com/example/umc_6th/LockerVPAdapter.kt @@ -0,0 +1,16 @@ +package com.example.umc_6th + +import androidx.fragment.app.Fragment +import androidx.viewpager2.adapter.FragmentStateAdapter + +class LockerVPAdapter(fragment: Fragment) :FragmentStateAdapter(fragment) { + override fun getItemCount(): Int = 3 + + override fun createFragment(position: Int): Fragment { + return when(position){ + 0 -> SavedSongFragment() + 1 -> MusicFileFragment() + else -> SavedAlbumFragment() + } + } +} \ No newline at end of file diff --git a/UMC_6th/app/src/main/java/com/example/umc_6th/MusicFileFragment.kt b/UMC_6th/app/src/main/java/com/example/umc_6th/MusicFileFragment.kt new file mode 100644 index 0000000..7815787 --- /dev/null +++ b/UMC_6th/app/src/main/java/com/example/umc_6th/MusicFileFragment.kt @@ -0,0 +1,22 @@ +package com.example.umc_6th + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.example.umc_6th.databinding.FragmentLockerMusicfileBinding + +class MusicFileFragment : Fragment() { + lateinit var binding:FragmentLockerMusicfileBinding + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentLockerMusicfileBinding.inflate(inflater,container,false) + + return binding.root + } +} \ No newline at end of file diff --git a/UMC_6th/app/src/main/java/com/example/umc_6th/PannelFragment.kt b/UMC_6th/app/src/main/java/com/example/umc_6th/PannelFragment.kt new file mode 100644 index 0000000..67f144e --- /dev/null +++ b/UMC_6th/app/src/main/java/com/example/umc_6th/PannelFragment.kt @@ -0,0 +1,28 @@ +package com.example.umc_6th + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import com.example.umc_6th.databinding.FragmentPannelBinding + +class PannelFragment(val imgRes : Int):Fragment() { + + lateinit var binding : FragmentPannelBinding + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + } + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentPannelBinding.inflate(inflater,container,false) + binding.pannelImageIv.setImageResource(imgRes) + return binding.root + } + +} \ No newline at end of file diff --git a/UMC_6th/app/src/main/java/com/example/umc_6th/PannelVPAdapter.kt b/UMC_6th/app/src/main/java/com/example/umc_6th/PannelVPAdapter.kt new file mode 100644 index 0000000..316b072 --- /dev/null +++ b/UMC_6th/app/src/main/java/com/example/umc_6th/PannelVPAdapter.kt @@ -0,0 +1,22 @@ +package com.example.umc_6th + +import androidx.fragment.app.Fragment +import androidx.viewpager2.adapter.FragmentStateAdapter + +class PannelVPAdapter(fragment:Fragment) : FragmentStateAdapter(fragment) { + + private val fragmentList : ArrayList = ArrayList() + + override fun getItemCount(): Int { + return fragmentList.size + } + + override fun createFragment(position: Int): Fragment { + return fragmentList[position] + } + + fun addFragment(fragment: Fragment){ + fragmentList.add(fragment) + notifyItemInserted(fragmentList.size-1) + } +} \ No newline at end of file diff --git a/UMC_6th/app/src/main/java/com/example/umc_6th/SavedAlbumFragment.kt b/UMC_6th/app/src/main/java/com/example/umc_6th/SavedAlbumFragment.kt new file mode 100644 index 0000000..4ca14a0 --- /dev/null +++ b/UMC_6th/app/src/main/java/com/example/umc_6th/SavedAlbumFragment.kt @@ -0,0 +1,23 @@ +package com.example.umc_6th + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.example.umc_6th.databinding.FragmentLockerSavedalbumBinding + +class SavedAlbumFragment : Fragment() { + + lateinit var binding: FragmentLockerSavedalbumBinding + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentLockerSavedalbumBinding.inflate(inflater,container,false) + return binding.root + } + +} \ No newline at end of file diff --git a/UMC_6th/app/src/main/java/com/example/umc_6th/SavedSongFragment.kt b/UMC_6th/app/src/main/java/com/example/umc_6th/SavedSongFragment.kt new file mode 100644 index 0000000..f969318 --- /dev/null +++ b/UMC_6th/app/src/main/java/com/example/umc_6th/SavedSongFragment.kt @@ -0,0 +1,22 @@ +package com.example.umc_6th + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.example.umc_6th.databinding.FragmentLockerSavedsongBinding + +class SavedSongFragment : Fragment() { + lateinit var binding : FragmentLockerSavedsongBinding + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentLockerSavedsongBinding.inflate(inflater,container,false) + + return binding.root + } +} \ No newline at end of file diff --git a/UMC_6th/app/src/main/java/com/example/umc_6th/SongFragment.kt b/UMC_6th/app/src/main/java/com/example/umc_6th/SongFragment.kt new file mode 100644 index 0000000..19ed101 --- /dev/null +++ b/UMC_6th/app/src/main/java/com/example/umc_6th/SongFragment.kt @@ -0,0 +1,24 @@ +package com.example.umc_6th + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.example.umc_6th.databinding.FragmentDetailBinding +import com.example.umc_6th.databinding.FragmentSongBinding + +class SongFragment : Fragment(){ + + lateinit var binding : FragmentSongBinding + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentSongBinding.inflate(inflater,container,false) + + return binding.root + } +} \ No newline at end of file diff --git a/UMC_6th/app/src/main/java/com/example/umc_6th/VideoFragment.kt b/UMC_6th/app/src/main/java/com/example/umc_6th/VideoFragment.kt new file mode 100644 index 0000000..6bd8148 --- /dev/null +++ b/UMC_6th/app/src/main/java/com/example/umc_6th/VideoFragment.kt @@ -0,0 +1,24 @@ +package com.example.umc_6th + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import com.example.umc_6th.databinding.FragmentDetailBinding +import com.example.umc_6th.databinding.FragmentVideoBinding + +class VideoFragment : Fragment(){ + + lateinit var binding : FragmentVideoBinding + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentVideoBinding.inflate(inflater,container,false) + + return binding.root + } +} \ No newline at end of file diff --git a/UMC_6th/app/src/main/res/drawable/blue_radius.xml b/UMC_6th/app/src/main/res/drawable/blue_radius.xml new file mode 100644 index 0000000..f2a12db --- /dev/null +++ b/UMC_6th/app/src/main/res/drawable/blue_radius.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/UMC_6th/app/src/main/res/drawable/gray_radius.xml b/UMC_6th/app/src/main/res/drawable/gray_radius.xml new file mode 100644 index 0000000..5b9a17d --- /dev/null +++ b/UMC_6th/app/src/main/res/drawable/gray_radius.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/UMC_6th/app/src/main/res/layout/fragment_album.xml b/UMC_6th/app/src/main/res/layout/fragment_album.xml index 1f93b3f..d03c790 100644 --- a/UMC_6th/app/src/main/res/layout/fragment_album.xml +++ b/UMC_6th/app/src/main/res/layout/fragment_album.xml @@ -107,608 +107,71 @@ app:layout_constraintEnd_toEndOf="@+id/album_album_iv" /> - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + android:layout_height="wrap_content" + app:tabIndicatorFullWidth="false" + app:tabSelectedTextColor="#3f3fff" + app:tabIndicatorColor="#3f3fff" + app:tabRippleColor="#00ff0000" + app:layout_constraintEnd_toEndOf="@+id/album_album_iv" + app:layout_constraintStart_toStartOf="@+id/album_album_iv" + app:layout_constraintTop_toBottomOf="@+id/album_album_iv"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + app:layout_constraintEnd_toEndOf="parent"/> - - - - \ No newline at end of file diff --git a/UMC_6th/app/src/main/res/layout/fragment_detail.xml b/UMC_6th/app/src/main/res/layout/fragment_detail.xml new file mode 100644 index 0000000..6ed553a --- /dev/null +++ b/UMC_6th/app/src/main/res/layout/fragment_detail.xml @@ -0,0 +1,15 @@ + + + + \ No newline at end of file diff --git a/UMC_6th/app/src/main/res/layout/fragment_home.xml b/UMC_6th/app/src/main/res/layout/fragment_home.xml index db35db3..78c78b3 100644 --- a/UMC_6th/app/src/main/res/layout/fragment_home.xml +++ b/UMC_6th/app/src/main/res/layout/fragment_home.xml @@ -10,16 +10,38 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - + + + + + + + + + + + + + - + + app:layout_constraintTop_toBottomOf="@id/home_pannel_background_vp"/> + app:layout_constraintTop_toBottomOf="@id/home_pannel_background_vp"/> + app:layout_constraintTop_toBottomOf="@id/home_pannel_background_vp"/> + app:layout_constraintTop_toBottomOf="@id/home_pannel_background_vp"/> + diff --git a/UMC_6th/app/src/main/res/layout/fragment_locker.xml b/UMC_6th/app/src/main/res/layout/fragment_locker.xml index 74cb6da..c5abb0d 100644 --- a/UMC_6th/app/src/main/res/layout/fragment_locker.xml +++ b/UMC_6th/app/src/main/res/layout/fragment_locker.xml @@ -1,14 +1,110 @@ - + android:layout_width="match_parent"> - + + + + + + + android:layout_height="0dp" + android:layout_marginTop="10dp" + app:layout_constraintVertical_bias="1.0" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/locker_content_tb" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + \ No newline at end of file diff --git a/UMC_6th/app/src/main/res/layout/fragment_locker_musicfile.xml b/UMC_6th/app/src/main/res/layout/fragment_locker_musicfile.xml new file mode 100644 index 0000000..523431f --- /dev/null +++ b/UMC_6th/app/src/main/res/layout/fragment_locker_musicfile.xml @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/UMC_6th/app/src/main/res/layout/fragment_locker_savedalbum.xml b/UMC_6th/app/src/main/res/layout/fragment_locker_savedalbum.xml new file mode 100644 index 0000000..04bf526 --- /dev/null +++ b/UMC_6th/app/src/main/res/layout/fragment_locker_savedalbum.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/UMC_6th/app/src/main/res/layout/fragment_locker_savedsong.xml b/UMC_6th/app/src/main/res/layout/fragment_locker_savedsong.xml new file mode 100644 index 0000000..5e40172 --- /dev/null +++ b/UMC_6th/app/src/main/res/layout/fragment_locker_savedsong.xml @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/UMC_6th/app/src/main/res/layout/fragment_pannel.xml b/UMC_6th/app/src/main/res/layout/fragment_pannel.xml new file mode 100644 index 0000000..e2f6f9e --- /dev/null +++ b/UMC_6th/app/src/main/res/layout/fragment_pannel.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/UMC_6th/app/src/main/res/layout/fragment_song.xml b/UMC_6th/app/src/main/res/layout/fragment_song.xml new file mode 100644 index 0000000..dcea30d --- /dev/null +++ b/UMC_6th/app/src/main/res/layout/fragment_song.xml @@ -0,0 +1,549 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/UMC_6th/app/src/main/res/layout/fragment_video.xml b/UMC_6th/app/src/main/res/layout/fragment_video.xml new file mode 100644 index 0000000..ebf2d8a --- /dev/null +++ b/UMC_6th/app/src/main/res/layout/fragment_video.xml @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file