Files
ShiftRing/app/src/main/java/com/example/shiftalarm/SettingsActivity.kt

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()
}
}
}