58 lines
2.0 KiB
Kotlin
58 lines
2.0 KiB
Kotlin
package com.example.shiftalarm
|
|
|
|
import android.os.Bundle
|
|
import androidx.activity.enableEdgeToEdge
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
import androidx.core.view.ViewCompat
|
|
import androidx.core.view.WindowInsetsCompat
|
|
import com.example.shiftalarm.databinding.ActivitySettingsBinding
|
|
import com.google.android.material.tabs.TabLayoutMediator
|
|
|
|
class SettingsActivity : AppCompatActivity() {
|
|
|
|
private lateinit var binding: ActivitySettingsBinding
|
|
|
|
override fun onConfigurationChanged(newConfig: android.content.res.Configuration) {
|
|
super.onConfigurationChanged(newConfig)
|
|
// Refresh UI smoothly
|
|
finish()
|
|
startActivity(intent)
|
|
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out)
|
|
}
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
enableEdgeToEdge()
|
|
super.onCreate(savedInstanceState)
|
|
binding = ActivitySettingsBinding.inflate(layoutInflater)
|
|
setContentView(binding.root)
|
|
|
|
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets ->
|
|
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
|
|
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
|
|
insets
|
|
}
|
|
|
|
val adapter = SettingsPagerAdapter(this)
|
|
binding.viewPager.adapter = adapter
|
|
|
|
TabLayoutMediator(binding.tabLayout, binding.viewPager) { tab, position ->
|
|
tab.text = when (position) {
|
|
0 -> getString(R.string.tab_basic)
|
|
1 -> getString(R.string.tab_alarm)
|
|
2 -> getString(R.string.tab_additional)
|
|
3 -> getString(R.string.tab_lab)
|
|
else -> "설정"
|
|
}
|
|
}.attach()
|
|
|
|
// Jump to specific tab if requested
|
|
val targetTab = intent.getIntExtra("TARGET_TAB", 0)
|
|
binding.viewPager.setCurrentItem(targetTab, false)
|
|
|
|
binding.btnSave.text = "닫기"
|
|
binding.btnSave.setOnClickListener {
|
|
finish()
|
|
}
|
|
}
|
|
}
|