package bootcamp.sparta.notlame.Util
import android.content.Context
import androidx.appcompat.app.AppCompatActivity
import bootcamp.sparta.notlame.R
// fadein and out 애니메이션
fun animSlideRight(context: Context) = (context as AppCompatActivity).overridePendingTransition(R.anim.slide_from_right, R.anim.static_animation)
fun animSlideLeft(context: Context) = (context as AppCompatActivity).overridePendingTransition(R.anim.slide_from_left, R.anim.static_animation)
package bootcamp.sparta.notlame.detailPage
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.ImageButton
import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.TextView
import android.widget.Toast
import bootcamp.sparta.notlame.R
import com.google.android.material.snackbar.Snackbar
class DetailPage : AppCompatActivity() {
private val detailInputBtn: Button by lazy { findViewById(R.id.detailInputBtn) }
private val detailInputArea: LinearLayout by lazy { findViewById(R.id.detailInputArea) }
private val detailInputEdit: EditText by lazy { findViewById(R.id.detailInputEdit) }
private val detailSubject:TextView by lazy {findViewById(R.id.detailSubject) }
private val detailContent: TextView by lazy { findViewById(R.id.detailContent) }
private val detailName:TextView by lazy { findViewById(R.id.detailName) }
private val detailImage: ImageView by lazy { findViewById(R.id.detailImage) }
private val userImageComment: ImageView by lazy { findViewById(R.id.userImageComment) }
private val backBtn:ImageButton by lazy { findViewById(R.id.imageButton) }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_detail_page)
val userName = intent.getStringExtra("userName")?:"이름 없음"
val userImage = intent.getIntExtra("userImage", R.drawable.mypage_dummy_image)
detailSubject.setText(intent.getStringExtra("detailSubject"))
detailContent.setText(intent.getStringExtra("detailContent"))
detailName.setText(userName)
detailImage.setImageResource(userImage)
userImageComment.setImageResource(userImage)
detailImage.clipToOutline = true
userImageComment.clipToOutline = true
//뒤로 가기 버튼
backBtn.setOnClickListener {
var snackBar = Snackbar.make(it, R.string.warningBack, Snackbar.LENGTH_SHORT).setAction(R.string.button_done, View.OnClickListener {
finish()
overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out)
})
snackBar.show()
}
//댓글 입력 버튼
detailInputBtn.setOnClickListener {
val text = detailInputEdit.text.toString()
if(text.isBlank()){
Toast.makeText(this, R.string.warningNull, Toast.LENGTH_SHORT).show()
}else{
inputText(text, userName)
detailInputEdit.setText(/* text = */ null)
}
}
}
// 댓글 생성
fun inputText(text:String, userName:String){
val newText = TextView(this)
newText.setText(/* text = */ "$userName : $text")
detailInputArea.addView(newText)
}
}
package bootcamp.sparta.notlame.mainPage
import android.app.Activity
import android.content.Intent
import android.media.Image
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.widget.EditText
import android.widget.ImageButton
import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.TextView
import android.widget.Toast
import androidx.activity.result.contract.ActivityResultContracts
import androidx.constraintlayout.widget.ConstraintLayout
import bootcamp.sparta.notlame.R
import bootcamp.sparta.notlame.Util.animSlideRight
import bootcamp.sparta.notlame.detailPage.DetailPage
import bootcamp.sparta.notlame.myPage.MyPageActivity
import bootcamp.sparta.notlame.writePage.WritePageActivity
import java.text.SimpleDateFormat
import java.time.LocalDate
import java.util.Calendar
import java.util.Locale
class MainPageActivity : AppCompatActivity() {
// private lateinit var getContent: ActivityResultLauncher
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main_page)
userInfoSetting()
teamBoardSetting()
myPageSet()
}
private fun userInfoSetting() {
// 임시로 수정 불가로 설정
val checkName = intent.getStringExtra("userName") ?: "name"
val checkId = intent.getStringExtra("userId") ?: "id"
val checkPw = intent.getStringExtra("userPw") ?: "pw"
val checkTel = intent.getStringExtra("userTel") ?: "tel"
val checkPosition = intent.getStringExtra("userPosition") ?: "position"
val checkImage = intent.getIntExtra("userImage", 0)
//
var userImage = findViewById<ImageView>(R.id.userImage)
userImage.setImageResource(checkImage)
userImage.setOnClickListener {
val intent = Intent(this, MyPageActivity::class.java)
intent.putExtra("userName", checkName)
intent.putExtra("userId", checkId)
intent.putExtra("userPw", checkPw)
intent.putExtra("userTel", checkTel)
intent.putExtra("userPosition", checkPosition)
intent.putExtra("userImage", checkImage)
startActivity(intent)
animSlideRight(this)
}
//
var userImageList1 = findViewById<ImageView>(R.id.userImageList1)
userImageList1.setImageResource(checkImage)
userImageList1.setOnClickListener {
val intent = Intent(this, MyPageActivity::class.java)
intent.putExtra("userName", checkName)
intent.putExtra("userId", checkId)
intent.putExtra("userPw", checkPw)
intent.putExtra("userTel", checkTel)
intent.putExtra("userPosition", checkPosition)
intent.putExtra("userImage", checkImage)
startActivity(intent)
animSlideRight(this)
}
//
var userNameText = findViewById<TextView>(R.id.userNameText)
userNameText.text = checkName
var userPositionText = findViewById<TextView>(R.id.userPositionText)
userPositionText.text = checkPosition
//
var userImageList2 = findViewById<ImageView>(R.id.userImageList2)
userImageList2.setImageResource(R.drawable.profile_set1)
var userImageList3 = findViewById<ImageView>(R.id.userImageList3)
userImageList3.setImageResource(R.drawable.profile_set2)
var userImageList4 = findViewById<ImageView>(R.id.userImageList4)
userImageList4.setImageResource(R.drawable.profile_set3)
var userImageList5 = findViewById<ImageView>(R.id.userImageList5)
userImageList5.setImageResource(R.drawable.profile_set4)
}
// 팀 게시판 세팅
private fun teamBoardSetting() {
//게시판 값 받아오기
//빈 리스트 생성
val title: MutableList<String> = mutableListOf() //: String? = null
var comment: MutableList<String> = mutableListOf() //: String? = null
var checkValue: Int? = null
var index = 0
val startForResult =
registerForActivityResult(ActivityResultContracts.StartActivityForResult())
{ result ->
if (result.resultCode == Activity.RESULT_OK) {
//결과에 대해 받아오게 되면 실행되는 거기 때문에 teamboard를 여기에 생성해야 한다
//값을 받아 온다 ->registerForActivityResult는 여기서만 받아오기 때문에
//받아 온 값은 여기서만 초기화 해야한다
val checkImage = intent.getIntExtra("userImage", 0)
val checkName = intent.getStringExtra("userName") ?: "name"
val data: Intent? = result.data
title.add(data?.getStringExtra("Title").toString())
comment.add(data?.getStringExtra("Comment").toString())
checkValue = data?.getIntExtra("check", 0)
if (checkValue == 1) {
val parentLayout = findViewById<LinearLayout>(R.id.teamBoardLayout)
val inflater = LayoutInflater.from(this)
// 동적 생성할 layout을 선언
val teamLayout = inflater.inflate(R.layout.team_board_frame, null)
parentLayout.addView(teamLayout)
val titleEditText = teamLayout.findViewById<TextView>(R.id.teamBoardTitle1)
titleEditText.text = title[index]
// 동적 생성할 layout을 선언
val commentLayout =
inflater.inflate(R.layout.team_board_comment_frame, null)
//동적으로 id 생성하기 -> 1부터 값이 생성됨
//commentLayout.id = View.generateViewId()
parentLayout.addView(commentLayout)
val commentEditText =
commentLayout.findViewById<TextView>(R.id.teamBoardComment1)
commentEditText.text = comment[index]
//teamLayout
val teamBoardFrame1 =
teamLayout.findViewById<ConstraintLayout>(R.id.teamBoardFrame1)
val teamBoardDetailFrame1 =
commentLayout.findViewById<ConstraintLayout>(R.id.teamBoardDetailFrame1)
teamBoardFrame1.setOnClickListener {
if (teamBoardDetailFrame1.visibility == View.VISIBLE) {
teamBoardDetailFrame1.visibility = View.GONE
} else {
teamBoardDetailFrame1.visibility = View.VISIBLE
}
}
val userDateText =
teamLayout.findViewById<TextView>(R.id.teamBoardUserDate1)
userDateText.text = getCurrentDate()
val userNameText =
teamLayout.findViewById<TextView>(R.id.teamBoardUserName1)
userNameText.text = checkName
//DetailPage
//동적 생성에 대한 아이디를 받아야 한다. --> 결국 list해서 값을 저장해야 한다.
//더 보기 기능
//index 판단을 해야함
val teamBoardDetailViewMore =
commentLayout.findViewById<TextView>(R.id.teamBoardDetailViewMore1)
teamBoardDetailViewMore.id = index
teamBoardDetailViewMore.setOnClickListener {
val intent = Intent(this, DetailPage::class.java)
intent.putExtra("userName", checkName)
intent.putExtra("userImage", checkImage)
intent.putExtra("detailSubject", title[teamBoardDetailViewMore.id])
intent.putExtra("detailContent", comment[teamBoardDetailViewMore.id])
startActivity(intent)
animSlideRight(this)
}
}
///
index++
}
}
// 게시판 등록하기
val boardAddBtn = findViewById<ImageButton>(R.id.boardAddBtn)
boardAddBtn.setOnClickListener {
val intent = Intent(this, WritePageActivity::class.java)
startForResult.launch(intent)
animSlideRight(this)
}
}
//날짜 갖고오기
private fun getCurrentDate(): String {
val currentDate = Calendar.getInstance().time
val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault())
return dateFormat.format(currentDate)
}
private fun myPageSet() {
val checkName = intent.getStringExtra("userName") ?: "name"
val checkId = intent.getStringExtra("userId") ?: "id"
val checkPw = intent.getStringExtra("userPw") ?: "pw"
val checkTel = intent.getStringExtra("userTel") ?: "tel"
val checkPosition = intent.getStringExtra("userPosition") ?: "position"
val checkImage = intent.getIntExtra("userImage", 0)
val personInfoBtn = findViewById<ImageButton>(R.id.personInfoBtn)
personInfoBtn.setOnClickListener {
val intent = Intent(this, MyPageActivity::class.java)
intent.putExtra("userName", checkName)
intent.putExtra("userId", checkId)
intent.putExtra("userPw", checkPw)
intent.putExtra("userTel", checkTel)
intent.putExtra("userPosition", checkPosition)
intent.putExtra("userImage", checkImage)
startActivity(intent)
animSlideRight(this)
}
}
}
package bootcamp.sparta.notlame.myPage
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.Button
import android.widget.CheckBox
import android.widget.EditText
import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.TextView
import android.widget.Toast
import bootcamp.sparta.notlame.mainPage.MainPageActivity
import bootcamp.sparta.notlame.R
import bootcamp.sparta.notlame.Util.animSlideLeft
class MyPageActivity : AppCompatActivity() {
// 핢일 추가하기 EditText
private val todoEditText: EditText by lazy { findViewById(R.id.mypage_et_todo) }
// 할일목록 입력 버튼
private val todoBtn: Button by lazy { findViewById(R.id.mypage_btn_todo) }
// 확인버튼
private val doneBtn: Button by lazy { findViewById(R.id.mypage_btn_done) }
// 할일목록 LinearLayout
private val layout: LinearLayout by lazy { findViewById(R.id.mypage_linearlayout_todo) }
// 이미지
private val iv_Image : ImageView by lazy { findViewById(R.id.mypage_iv_image) }
// 이름
private val tv_name : TextView by lazy { findViewById(R.id.mypage_tv_name) }
// 직책
private val tv_position : TextView by lazy { findViewById(R.id.mypage_tv_position_value) }
// 전화번호
private val tv_tel : TextView by lazy { findViewById(R.id.mypage_tv_phone_value) }
// 내 정보(이미지)
private val intent_Image: Int by lazy { intent.getIntExtra(getString(R.string.intent_userImage), -1) }
// 내 정보(이름)
private val intent_Name: String? by lazy { intent.getStringExtra(getString(R.string.intent_userNameText)) }
// 내 정보(직책)
private val intent_Position: String? by lazy { intent.getStringExtra(getString(R.string.intent_userPositionText)) }
// 내 정보(번호)
private val intent_Tel: String? by lazy{ intent.getStringExtra(getString(R.string.intent_userTelText))}
// 할일목록 CheckBox관리를위한 List
private var todoCheckBoxList: MutableList<CheckBox> = mutableListOf()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.my_page_activity)
setLayoutData()
registerButtonClickListeners()
}
// 인텐트에서 받아온 Data들을 Layout에 배치
private fun setLayoutData() {
iv_Image.setImageResource(intent_Image)
tv_name.text = intent_Name
tv_position.text = intent_Position
tv_tel.text = intent_Tel
}
// button에 onClickLstener 등록
private fun registerButtonClickListeners() {
todoBtnOnClickListener()
doneBtnOnClickListener()
}
// 확인버튼
private fun doneBtnOnClickListener() {
doneBtn.setOnClickListener {
animSlideLeft(this)
finish()
}
}
// 할일 목록 추가버튼
private fun todoBtnOnClickListener() {
todoBtn.setOnClickListener {
// EditText 입력값이 있는지 체크
if (todoEditText.text.length <= 0) {
toastMsg(getString(R.string.mypage_edittext_null))
} else {
createAndAllocCheckBox()
todoEditText.text = null
}
}
}
// 체크박스 생성 및 배치
private fun createAndAllocCheckBox() {
val checkBox = createCheckBox(todoEditText.text.toString())
allocCheckBox(checkBox)
todoCheckBoxList.add(checkBox)
Log.d("MyPageActivity", checkBox.id.toString())
}
// 체크박스 컴포넌트 생성
private fun createCheckBox(text: String): CheckBox {
val checkBox = CheckBox(this)
checkBox.text = text
checkBox.id = todoCheckBoxList.size
setCheckBoxOnClickListener(checkBox)
return checkBox
}
// checkBox의 OnClick이벤트 발생시 Layout에서 해지
private fun setCheckBoxOnClickListener(checkBox: CheckBox) {
checkBox.setOnClickListener {
// val selectedCheckBoxComponents = todoCheckBoxList.find { it.id == checkBox.id }
// todoCheckBoxList.remove(selectedCheckBoxComponents)
freeCheckBox(checkBox)
}
}
// 체크박스 컴포넌트 Layout에 할당
private fun allocCheckBox(checkBox: CheckBox) {
layout.addView(
checkBox,
LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT
)
)
}
// 체크박스 컴포넌트 Layout에 해지
private fun freeCheckBox(checkBox: CheckBox) = layout.removeView(checkBox)
// 토스트 메세지
private fun toastMsg(msg: String) = Toast.makeText(this, msg, Toast.LENGTH_SHORT).show()
}
package bootcamp.sparta.notlame.signIn
import android.content.Intent
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import bootcamp.sparta.notlame.R
import bootcamp.sparta.notlame.Util.animSlideRight
import bootcamp.sparta.notlame.mainPage.MainPageActivity
import bootcamp.sparta.notlame.signUp.SignUpPageActivity
class SignInPageActivity : AppCompatActivity() {
private lateinit var editTextId: EditText
private lateinit var editTextPassword: EditText
private lateinit var buttonLogin: Button
private lateinit var buttonSignUp: Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_sign_in_page)
editTextId = findViewById(R.id.editTextId)
editTextPassword = findViewById(R.id.editTextPassword)
buttonLogin = findViewById(R.id.buttonLogin)
buttonSignUp = findViewById(R.id.buttonSignUp)
buttonLogin.setOnClickListener {
val id = editTextId.text.toString()
val password = editTextPassword.text.toString()
val checkName = intent.getStringExtra("userName") ?: "name"
val checkId = intent.getStringExtra("userId") ?: "id"
val checkPw = intent.getStringExtra("userPw") ?: "pw"
val checkTel = intent.getStringExtra("userTel") ?: "tel"
val checkPosition = intent.getStringExtra("userPosition") ?: "position"
val checkImage = intent.getIntExtra("userImage", 0)
if (id.isEmpty() || password.isEmpty()) {
Toast.makeText(this, "아이디/비밀번호 둘 중 하나가 입력이 비어있습니다.", Toast.LENGTH_SHORT).show()
} else if((id.equals(checkId)) && (password.equals(checkPw))){
Toast.makeText(this, R.string.successLogin, Toast.LENGTH_SHORT).show()
val intent = Intent(this, MainPageActivity::class.java)
intent.putExtra("userName", checkName)
intent.putExtra("userId", checkId)
intent.putExtra("userPw", checkPw)
intent.putExtra("userTel", checkTel)
intent.putExtra("userPosition", checkPosition)
intent.putExtra("userImage", checkImage)
startActivity(intent)
animSlideRight(this)
finish()
}
else{
Toast.makeText(this, R.string.checkIDPassword, Toast.LENGTH_SHORT).show()
}
}
buttonSignUp.setOnClickListener {
startActivity(Intent(this, SignUpPageActivity::class.java))
animSlideRight(this)
}
}
}
package bootcamp.sparta.notlame.signUp
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
import android.widget.Button
import android.widget.EditText
import android.widget.ImageView
import android.widget.Toast
import androidx.core.content.res.ResourcesCompat
import bootcamp.sparta.notlame.R
import bootcamp.sparta.notlame.Util.animSlideLeft
import bootcamp.sparta.notlame.Util.animSlideRight
import bootcamp.sparta.notlame.signIn.SignInPageActivity
import java.util.regex.Pattern
class SignUpPageActivity : AppCompatActivity() {
private val idPattern = Pattern.compile("^[a-zA-Z0-9]{5,10}\$")
private val pwPattern = Pattern.compile("^(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!@#$%^&+=]).{8,15}\$")
private val phonePattern = Pattern.compile("^[0-9]{10,11}\$")
private val namePattern = Pattern.compile("^[가-힣a-zA-Z]*\$")
private var imgSet: Int = R.drawable.logo1 // 기본 값으로 초기화
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.sign_up_layout)
val et_name = findViewById<EditText>(R.id.et_name)
val et_id = findViewById<EditText>(R.id.et_id)
val et_pw = findViewById<EditText>(R.id.et_pw)
val et_phone = findViewById<EditText>(R.id.et_phone)
val et_position = findViewById<EditText>(R.id.et_position)
val btn_signUp = findViewById<Button>(R.id.btn_signupOk)
val btn_signCancel = findViewById<Button>(R.id.btn_signupcancel)
et_id.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
val id = s.toString()
val valid = idPattern.matcher(id).matches()
if (!valid) {
et_id.error = getString(R.string._5_10)
}
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {}
})
et_pw.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
val pw = s.toString()
val valid = pwPattern.matcher(pw).matches()
if (!valid) {
et_pw.error = getString(R.string._8_15)
}
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {}
})
et_phone.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
val phone = s.toString()
val valid = phonePattern.matcher(phone).matches()
if (!valid) {
et_phone.error = getString(R.string._10_11)
}
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {}
})
et_name.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
val name = s.toString()
val valid = namePattern.matcher(name).matches()
if (!valid) {
et_name.error = getString(R.string.kor)
}
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {}
})
//이미지 초기화
val iv_logo = findViewById<ImageView>(R.id.imageView)
iv_logo.setOnClickListener {
imgSet = when ((1..6).random()) {
1 -> R.drawable.logo1
2 -> R.drawable.logo2
3 -> R.drawable.logo3
4 -> R.drawable.logo4
5 -> R.drawable.logo5
else -> R.drawable.logo1
}
iv_logo.setImageDrawable(ResourcesCompat.getDrawable(resources, imgSet, null))
}
btn_signUp.setOnClickListener {
val name = et_name.text.toString()
val id = et_id.text.toString()
val pw = et_pw.text.toString()
val phone = et_phone.text.toString()
val position = et_position.text.toString()
if (name.isBlank() || id.isBlank() || pw.isBlank() || phone.isBlank() || position.isBlank()) {
Toast.makeText(this, getString(R.string.info), Toast.LENGTH_SHORT).show()
return@setOnClickListener
}
val nameValid = namePattern.matcher(name).matches()
val idValid = idPattern.matcher(id).matches()
val pwValid = pwPattern.matcher(pw).matches()
val phoneValid = phonePattern.matcher(phone).matches()
if (!nameValid) {
et_name.error = getString(R.string.kor)
return@setOnClickListener
}
if (!idValid) {
et_id.error = getString(R.string._5_10)
return@setOnClickListener
}
if (!pwValid) {
et_pw.error = getString(R.string._8_15)
return@setOnClickListener
}
if (!phoneValid) {
et_phone.error = getString(R.string._10_11)
return@setOnClickListener
}
val intent = Intent(this, SignInPageActivity::class.java)
//수정하겠습니다.
intent.putExtra("userName", name)
intent.putExtra("userId", id)
intent.putExtra("userPw", pw)
intent.putExtra("userTel", phone)
intent.putExtra("userPosition",position)
intent.putExtra("userImage",imgSet)
startActivity(intent)
animSlideRight(this)
finish()
}
btn_signCancel.setOnClickListener {
Toast.makeText(this@SignUpPageActivity, "취소 되었습니다.", Toast.LENGTH_SHORT).show()
val intent = Intent(this@SignUpPageActivity, SignInPageActivity::class.java)
startActivity(intent)
animSlideLeft(this)
finish()
}
}
}
package bootcamp.sparta.notlame.writePage
import android.app.Activity
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import bootcamp.sparta.notlame.R
import bootcamp.sparta.notlame.Util.animSlideLeft
import bootcamp.sparta.notlame.Util.animSlideRight
import bootcamp.sparta.notlame.mainPage.MainPageActivity
import com.google.android.material.snackbar.Snackbar
class WritePageActivity : AppCompatActivity() {
private lateinit var title: String
private lateinit var comment: String
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_write_page)
clickSet()
}
private fun clickSet(){
val writeTitle = findViewById<EditText>(R.id.writeTitle)
val writeComment = findViewById<EditText>(R.id.writeComment)
val checkBtn = findViewById<Button>(R.id.checkBtn)
checkBtn.setOnClickListener{
title = writeTitle.text.toString()
comment = writeComment.text.toString()
if (title.isNullOrEmpty()){
Toast.makeText(this, "제목이 비어 있습니다 입력해주세요.", Toast.LENGTH_SHORT).show()
}
else if(comment.isNullOrEmpty()){
Toast.makeText(this, "내용이 비어 있습니다. 입력해주세요.", Toast.LENGTH_SHORT).show()
}
else if((title.length<1)&&(comment.length<10)){
Toast.makeText(this, "제목의 최소길이는 1글자 이상, 내용은 최소글자는 10글자 이상입니다.", Toast.LENGTH_SHORT).show()
}
else{
// 값도 전달해야함
val intent = Intent()//(this, MainPageActivity::class.java)
//
intent.putExtra("Title",title)
intent.putExtra("Comment",comment)
//확인용 변수
intent.putExtra("check", 1)
//registerForActivityResult를 사용
setResult(Activity.RESULT_OK, intent)
animSlideRight(this)
finish()
}
}
val cancelBtn = findViewById<Button>(R.id.cancelBtn)
cancelBtn.setOnClickListener{
title = writeTitle.text.toString()
comment = writeComment.text.toString()
if(title.isNullOrEmpty() && comment.isNullOrEmpty()){
val intent = Intent()//(this, MainPageActivity::class.java)
setResult(Activity.RESULT_OK, intent)
animSlideLeft(this)
finish()
}
else{
val intent = Intent(this, MainPageActivity::class.java)
//
var snackBar = Snackbar.make(it, R.string.warningBack, Snackbar.LENGTH_SHORT)
.setAction(R.string.button_done, View.OnClickListener {
setResult(Activity.RESULT_OK, intent)
finish()
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out)
})
snackBar.show()
}
}
}
}
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/linearLayout"
android:layout_weight="0"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageButton
android:id="@+id/imageButton"
android:layout_width="20dp"
android:scaleType="fitCenter"
android:layout_height="50dp"
android:src="@drawable/baseline_arrow_back_ios_24"
android:background="@android:color/transparent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/detailImage"
android:layout_width="50dp"
android:layout_height="50dp"
android:background="@drawable/image_shape"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/imageButton"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<TextView
android:id="@+id/detailName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/detailImage"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<ScrollView
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="fill_parent">
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/detailSubject"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:layout_marginBottom="5dp"/>
<TextView
android:id="@+id/detailContent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="15sp" />
</LinearLayout>
</ScrollView>
<TextView
android:id="@+id/textView"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/comment"
android:textSize="15sp"
android:layout_margin="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black"/>
<ScrollView
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="fill_parent">
<LinearLayout
android:id="@+id/detailInputArea"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</ScrollView>
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_weight="0"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<ImageView
android:id="@+id/userImageComment"
android:background="@drawable/image_shape"
android:layout_width="20dp"
android:layout_height="match_parent"
android:layout_weight="1"/>
<EditText
android:id="@+id/detailInputEdit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/noticeComment"
android:layout_weight="8" />
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/detailInputBtn"
android:background="@drawable/detail_btn"
android:textColor="@color/white"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_weight="2"
android:text="@string/butotn_input"/>
</LinearLayout>
<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"
tools:context=".mainPage.MainPageActivity">
<include
layout="@layout/main_page_layout"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- 첫 번째 TextView -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="32dp"
android:gravity="center"
android:text="@string/noticeTeam"
android:textColor="#FFFFFF"
android:textSize="18sp"
android:textStyle="bold" />
<!-- 아이디 레이블 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:layout_marginStart="8dp"
android:layout_marginBottom="8dp"
android:text="@string/id"
android:textColor="#FFFFFF"
android:textSize="18sp"
android:textStyle="bold" />
<!-- 아이디 입력 필드 -->
<EditText
android:id="@+id/editTextId"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:background="@color/white"
android:hint="@string/id"
android:inputType="text"
android:padding="16dp"
android:textColor="@color/black" />
<!-- 비밀번호 레이블 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:layout_marginStart="8dp"
android:layout_marginBottom="8dp"
android:text="@string/password"
android:textColor="#FFFFFF"
android:textSize="18sp"
android:textStyle="bold" />
<!-- 비밀번호 입력 필드 -->
<EditText
android:id="@+id/editTextPassword"
android:layout_width="match_parent"
android:layout_height="52dp"
android:layout_marginBottom="32dp"
android:background="@color/white"
android:hint="@string/password"
android:inputType="textPassword"
android:padding="16dp"
android:textColor="@color/black" />
<!-- 로그인 버튼 -->
<Button
android:id="@+id/buttonLogin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/button_background_rect"
android:text="@string/logIn"
android:textColor="#FFFFFF" />
<!-- 회원 가입 버튼 -->
<Button
android:id="@+id/buttonSignUp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/button_background2_rect"
android:radius="0dp"
android:text="@string/signUp"
android:textColor="#FFFFFF" />
<EditText
android:id="@+id/writeTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:hint="@string/subject"
android:textSize="20dp"/>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
app:cardCornerRadius="16dp"
app:cardElevation="5dp"
app:strokeColor="@color/black"
app:strokeWidth="5dp">
<EditText
android:id="@+id/writeComment"
android:background="@color/white"
android:layout_margin="5dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/inputContents"
android:textSize="16dp"/>
</androidx.cardview.widget.CardView>
<android.widget.Button
android:id="@+id/checkBtn"
android:layout_marginTop="50dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:layout_width="match_parent"
android:layout_height="30dp"
android:text="@string/button_done"
android:background="@drawable/btn_shape"/>
<android.widget.Button
android:id="@+id/cancelBtn"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:layout_width="match_parent"
android:layout_height="30dp"
android:text="@string/cancel"
android:background="@drawable/btn_shape"/>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.cardview.widget.CardView
android:id="@+id/userImageFrame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
app:cardCornerRadius="50dp"
app:cardElevation="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/userImage"
android:layout_width="75dp"
android:layout_height="75dp"
android:src="@drawable/profile_set"/>
</androidx.cardview.widget.CardView>
<TextView
android:id="@+id/nameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="35dp"
android:text="@string/nameColon"
android:textSize="15dp"
app:layout_constraintStart_toEndOf="@+id/userImageFrame"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/userNameText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:hint="@string/name"
android:textSize="15dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/nameTextView"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.380" />
<TextView
android:id="@+id/positionTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginBottom="35dp"
android:text="@string/positionColon"
android:textSize="15dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toEndOf="@+id/userImageFrame" />
<TextView
android:id="@+id/userPositionText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:hint="@string/position"
android:textSize="15dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/positionTextView"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.620" />
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/personInfoBtn"
android:layout_width="30dp"
android:layout_height="30dp"
android:background="@drawable/person_icon"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/boardAddBtn"
app:layout_constraintHorizontal_bias="0.950"
app:layout_constraintStart_toEndOf="@+id/userImageFrame"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/boardAddBtn"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginEnd="25dp"
android:background="@drawable/add_icon"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
app:cardCornerRadius="50dp"
app:cardElevation="5dp">
<TextView
android:layout_margin="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/teamMember"/>
</androidx.cardview.widget.CardView>
<!-- List -->
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal">
<androidx.cardview.widget.CardView
android:layout_width="75dp"
android:layout_height="75dp"
android:layout_margin="10dp"
app:cardCornerRadius="50dp"
app:cardElevation="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/userImageList1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/profile_set" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="75dp"
android:layout_height="75dp"
android:layout_margin="10dp"
app:cardCornerRadius="50dp"
app:cardElevation="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/userImageList2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/profile_set" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="75dp"
android:layout_height="75dp"
android:layout_margin="10dp"
app:cardCornerRadius="50dp"
app:cardElevation="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/userImageList3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/profile_set" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="75dp"
android:layout_height="75dp"
android:layout_margin="10dp"
app:cardCornerRadius="50dp"
app:cardElevation="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/userImageList4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/profile_set" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="75dp"
android:layout_height="75dp"
android:layout_margin="10dp"
app:cardCornerRadius="50dp"
app:cardElevation="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/userImageList5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/profile_set" />
</androidx.cardview.widget.CardView>
</LinearLayout>
</HorizontalScrollView>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
app:cardCornerRadius="50dp"
app:cardElevation="5dp">
<TextView
android:layout_margin="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/teamNoticeBoard"/>
</androidx.cardview.widget.CardView>
<!-- 팀 게시판 -->
<!-- team_board_frame.xml -->
<!-- team_board_comment_frame.xml -->
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".myPage.MyPageActivity">
<ImageView
android:id="@+id/mypage_iv_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="25dp"
tools:src="@drawable/mypage_dummy_image"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/mypage_tv_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:gravity="center"
android:textSize="25sp"
app:layout_constraintBottom_toTopOf="@+id/mypage_profile_cardview"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/mypage_iv_image"
tools:text="정나미" />
<androidx.cardview.widget.CardView
android:id="@+id/mypage_profile_cardview"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="15dp"
app:cardBackgroundColor="@color/white"
app:layout_constraintBottom_toTopOf="@+id/mypage_tv_todo_title"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/mypage_tv_name">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_margin="8dp"
android:layout_height="match_parent">
<TextView
android:id="@+id/mypage_tv_phone_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:gravity="center"
android:textSize="13sp"
app:layout_constraintBottom_toTopOf="@+id/mypage_tv_position_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:text="전화번호" />
<TextView
android:id="@+id/mypage_tv_phone_value"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="20sp"
app:layout_constraintBottom_toTopOf="@+id/mypage_tv_position_value"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/mypage_tv_phone_title"
app:layout_constraintTop_toTopOf="parent"
tools:text="010-1234-5678" />
<TextView
android:id="@+id/mypage_tv_position_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:gravity="center"
android:textSize="13sp"
app:layout_constraintBottom_toTopOf="@+id/mypage_tv_status_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/mypage_tv_phone_title"
android:text="직책" />
<TextView
android:id="@+id/mypage_tv_position_value"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="20sp"
app:layout_constraintBottom_toTopOf="@+id/mypage_tv_status_value"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/mypage_tv_position_title"
app:layout_constraintTop_toBottomOf="@+id/mypage_tv_phone_value"
tools:text="팀장" />
<TextView
android:id="@+id/mypage_tv_status_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:gravity="center"
android:textSize="13sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/mypage_tv_position_title"
android:text="상태" />
<TextView
android:id="@+id/mypage_tv_status_value"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/mypage_tv_status_title"
app:layout_constraintTop_toBottomOf="@+id/mypage_tv_position_value"
android:text="온라인" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
<TextView
android:id="@+id/mypage_tv_todo_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:text="@string/mypage_todo_textview_title"
android:textSize="15sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/mypage_profile_cardview" />
<EditText
android:id="@+id/mypage_et_todo"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:hint="@string/mypage_todo_edittext_hint"
app:layout_constraintEnd_toStartOf="@+id/mypage_btn_todo"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/mypage_tv_todo_title" />
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/mypage_btn_todo"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_marginEnd="10dp"
android:background="@color/blue"
android:text="@string/butotn_input"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="@+id/mypage_et_todo"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/mypage_et_todo"
app:layout_constraintTop_toTopOf="@+id/mypage_et_todo" />
<LinearLayout
android:id="@+id/mypage_linearlayout_todo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
app:layout_constraintBottom_toTopOf="@+id/mypage_btn_done"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/mypage_et_todo">
</LinearLayout>
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/mypage_btn_done"
android:layout_width="0dp"
android:layout_height="30dp"
android:layout_margin="25dp"
android:background="@color/blue"
android:text="@string/button_done"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/imageView"
android:layout_width="135dp"
android:layout_height="135dp"
android:layout_marginTop="104dp"
android:src="@drawable/logo1"
android:scaleType="centerCrop"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.423"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="24dp"
android:text="@string/name"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView" />
<EditText
android:id="@+id/et_name"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="24dp"
android:layout_marginTop="3dp"
android:layout_marginEnd="24dp"
android:ems="10"
android:textSize="18sp"
android:hint="@string/name"
android:inputType="text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_name" />
<TextView
android:id="@+id/tv_phone"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="24dp"
android:text="@string/phoneNumber"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/et_pw" />
<EditText
android:id="@+id/et_phone"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="24dp"
android:layout_marginTop="3dp"
android:layout_marginEnd="24dp"
android:ems="10"
android:textSize="18sp"
android:hint="@string/inputPhoneNumber"
android:inputType="phone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_phone" />
<TextView
android:id="@+id/tv_position"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="24dp"
android:text="@string/position"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/et_phone" />
<EditText
android:id="@+id/et_position"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="24dp"
android:layout_marginTop="3dp"
android:layout_marginEnd="24dp"
android:ems="10"
android:textSize="18sp"
android:hint="@string/inputPosition"
android:inputType="text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_position" />
<TextView
android:id="@+id/tv_id"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="24dp"
android:text="@string/id"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/et_name" />
<EditText
android:id="@+id/et_id"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="24dp"
android:layout_marginTop="3dp"
android:layout_marginEnd="24dp"
android:ems="10"
android:textSize="18sp"
android:hint="@string/inputID"
android:inputType="text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_id" />
<TextView
android:id="@+id/tv_pw"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="24dp"
android:text="@string/password"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/et_id" />
<EditText
android:id="@+id/et_pw"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="24dp"
android:layout_marginTop="3dp"
android:layout_marginEnd="24dp"
android:ems="10"
android:textSize="18sp"
android:hint="@string/inputPassword"
android:inputType="textPassword"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_pw" />
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/btn_signupOk"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="248dp"
android:layout_marginEnd="24dp"
android:text="@string/button_done"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
android:backgroundTint="@color/blue"
android:radius="0dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/et_pw" />
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/btn_signupcancel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/cancel"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
android:backgroundTint="@color/blue"
android:radius="0dp"
app:layout_constraintEnd_toEndOf="@+id/btn_signupOk"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@+id/btn_signupOk"
app:layout_constraintTop_toBottomOf="@+id/btn_signupOk" />
<TextView
android:id="@+id/title1"
android:layout_width="336dp"
android:layout_height="71dp"
android:text="@string/notice2Team"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/imageView"
app:layout_constraintEnd_toEndOf="@+id/tv_name"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@+id/tv_name"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/teamBoardDetailFrame1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp">
<androidx.cardview.widget.CardView
android:id="@+id/teamBoardCommentFrame1"
android:background="@color/lightGray"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardCornerRadius="16dp"
app:cardElevation="4dp">
<TextView
android:id="@+id/teamBoardComment1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:textAlignment="center"
android:gravity="center"
android:hint="setting"
android:textSize="15dp"/>
<TextView
android:id="@+id/teamBoardDetailViewMore1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="더보기"
android:textSize="10dp"
android:layout_gravity="right|bottom"/>
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/teamBoardFrame1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/rec_shape">
<androidx.cardview.widget.CardView
android:id="@+id/teamBoardImageFrame1"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_margin="10dp"
app:cardCornerRadius="50dp"
app:cardElevation="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/teamBoardUserImage1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/profile_set" />
</androidx.cardview.widget.CardView>
<TextView
android:id="@+id/teamBoardUserName1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:hint="정나미"
android:textSize="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.045"
app:layout_constraintStart_toEndOf="@+id/teamBoardImageFrame1" />
<TextView
android:id="@+id/teamBoardUserDate1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:hint="2023-08-14"
android:textSize="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.010"
app:layout_constraintStart_toEndOf="@+id/teamBoardImageFrame1"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/teamBoardTitle1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="165dp"
android:layout_marginEnd="150dp"
android:gravity="center"
android:hint="Title"
android:textAlignment="center"
android:textSize="15dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/teamBoardImageFrame1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.500" />
</androidx.constraintlayout.widget.ConstraintLayout>
class Solution {
fun solution(myString: String) = myString.toList()
.map { if (it.isLowerCase()) it.toUpperCase() else it.toLowerCase() }
.joinToString("")
}
class Solution {
fun solution(my_string: String, num1: Int, num2: Int): String {
var stringArray = my_string.toCharArray()
val tempValue = stringArray[num1]
stringArray[num1] = stringArray[num2]
stringArray[num2] = tempValue
return stringArray.joinToString("")
}
}
class Solution {
fun solution(s1: Array, s2: Array): Int {
var answer: Int = 0
s1.forEach { s1n ->
s2.forEach { s2n ->
if(s1n == s2n) answer++
}
}
return answer
}
}
class Solution {
fun solution(num: Int, k: Int): Int {
val result = num.toString().indexOf(k.toString())
if(result >=0) return result +1
return result
}
}
class Solution {
fun solution(my_string: String): String {
var answer: String = my_string.toLowerCase().toCharArray().sorted().joinToString("")
return answer
}
}
class Solution {
fun solution(array: IntArray, height: Int): Int {
var answer: Int = 0
for(i in 0..array.size - 1){
if(array[i] > height){
answer += 1
}
}
return answer
}
}
class Solution {
fun solution(dots: Array): Int {
val coordX = dots.map { it[0] }.toSortedSet()
val coordY = dots.map { it[1] }.toSortedSet()
return (coordX.last() - coordX.first()) * (coordY.last() - coordY.first())
}
}
class Solution {
fun solution(bin1: String, bin2: String): String {
return Integer.toBinaryString(Integer.parseInt(bin1, 2) + Integer.parseInt(bin2, 2))
}
}
class Solution {
fun solution(num: Int, total: Int): IntArray {
val center = total / num.toFloat()
return if(num % 2 == 0) {
(center.toInt() - (num / 2 - 1) .. center.toInt() + num / 2)
} else {
(center.toInt() - (num - 1) / 2 .. center.toInt() + (num - 1) / 2)
}.toList().toIntArray()
}
}