fix(character-detail): 캐릭터 정보 추가
- mbti, 나이, 성별 추가
This commit is contained in:
@@ -6,6 +6,7 @@ import android.graphics.Rect
|
||||
import android.os.Bundle
|
||||
import android.text.TextUtils
|
||||
import android.view.View
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.net.toUri
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
@@ -115,6 +116,55 @@ class CharacterDetailFragment : BaseFragment<FragmentCharacterDetailBinding>(
|
||||
binding.ivCharacterBackground.load(detail.imageUrl) { crossfade(true) }
|
||||
|
||||
// 기본 정보
|
||||
if (detail.gender != null) {
|
||||
binding.tvGender.visibility = View.VISIBLE
|
||||
binding.tvGender.text = detail.gender
|
||||
|
||||
if (detail.gender == "남성") {
|
||||
binding.tvGender.setTextColor(
|
||||
ContextCompat.getColor(
|
||||
requireContext(),
|
||||
R.color.color_3bb9f1
|
||||
)
|
||||
)
|
||||
binding.tvGender.setBackgroundResource(R.drawable.bg_character_gender_male)
|
||||
} else {
|
||||
binding.tvGender.setTextColor(
|
||||
ContextCompat.getColor(
|
||||
requireContext(),
|
||||
R.color.color_ff5c49
|
||||
)
|
||||
)
|
||||
binding.tvGender.setBackgroundResource(R.drawable.bg_character_gender_female)
|
||||
}
|
||||
} else {
|
||||
binding.tvGender.visibility = View.GONE
|
||||
}
|
||||
|
||||
if (detail.age != null) {
|
||||
binding.tvAge.visibility = View.VISIBLE
|
||||
binding.tvAge.text = "${detail.age}세"
|
||||
} else {
|
||||
binding.tvAge.visibility = View.GONE
|
||||
}
|
||||
|
||||
if (detail.mbti != null) {
|
||||
binding.tvMbti.visibility = View.VISIBLE
|
||||
binding.tvMbti.text = detail.mbti
|
||||
} else {
|
||||
binding.tvMbti.visibility = View.GONE
|
||||
}
|
||||
|
||||
binding.llGenderAgeMbti.visibility = if (
|
||||
detail.mbti == null &&
|
||||
detail.age == null &&
|
||||
detail.gender == null
|
||||
) {
|
||||
View.GONE
|
||||
} else {
|
||||
View.VISIBLE
|
||||
}
|
||||
|
||||
binding.tvCharacterName.text = detail.name
|
||||
binding.tvCharacterStatus.text = when (detail.characterType) {
|
||||
CharacterType.CLONE -> "Clone"
|
||||
|
||||
@@ -10,6 +10,8 @@ data class CharacterDetailResponse(
|
||||
@SerializedName("name") val name: String,
|
||||
@SerializedName("description") val description: String,
|
||||
@SerializedName("mbti") val mbti: String?,
|
||||
@SerializedName("gender") val gender: String?,
|
||||
@SerializedName("age") val age: Int?,
|
||||
@SerializedName("imageUrl") val imageUrl: String,
|
||||
@SerializedName("personalities") val personalities: CharacterPersonalityResponse?,
|
||||
@SerializedName("backgrounds") val backgrounds: CharacterBackgroundResponse?,
|
||||
|
||||
9
app/src/main/res/drawable/bg_character_gender_female.xml
Normal file
9
app/src/main/res/drawable/bg_character_gender_female.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="#263238" />
|
||||
<corners android:radius="4dp" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="@color/color_ff5c49" />
|
||||
</shape>
|
||||
9
app/src/main/res/drawable/bg_character_gender_male.xml
Normal file
9
app/src/main/res/drawable/bg_character_gender_male.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="#263238" />
|
||||
<corners android:radius="4dp" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="@color/color_3bb9f1" />
|
||||
</shape>
|
||||
9
app/src/main/res/drawable/bg_character_info.xml
Normal file
9
app/src/main/res/drawable/bg_character_info.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="#263238" />
|
||||
<corners android:radius="4dp" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="@color/color_88ffffff" />
|
||||
</shape>
|
||||
@@ -59,6 +59,48 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_gender_age_mbti"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_gender"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/pretendard_regular"
|
||||
android:paddingHorizontal="7dp"
|
||||
android:paddingVertical="3dp"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_age"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="4dp"
|
||||
android:background="@drawable/bg_character_info"
|
||||
android:fontFamily="@font/pretendard_regular"
|
||||
android:paddingHorizontal="7dp"
|
||||
android:paddingVertical="3dp"
|
||||
android:textColor="#B0BEC5"
|
||||
android:textSize="14sp"
|
||||
tools:text="20세" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_mbti"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_character_info"
|
||||
android:fontFamily="@font/pretendard_regular"
|
||||
android:paddingHorizontal="7dp"
|
||||
android:paddingVertical="3dp"
|
||||
android:textColor="#B0BEC5"
|
||||
android:textSize="14sp"
|
||||
tools:text="ENFP" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 캐릭터명과 상태 -->
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_character_name_status"
|
||||
|
||||
@@ -129,6 +129,7 @@
|
||||
<color name="color_333bb9f1">#333BB9F1</color>
|
||||
<color name="color_672bff">#672BFF</color>
|
||||
<color name="color_ccffffff">#CCFFFFFF</color>
|
||||
<color name="color_88ffffff">#88FFFFFF</color>
|
||||
<color name="color_cc777777">#CC777777</color>
|
||||
<color name="color_ec3aa6">#EC3AA6</color>
|
||||
<color name="color_7849bc">#7849BC</color>
|
||||
|
||||
Reference in New Issue
Block a user