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