Skip to content

feat: Rich Text Type의 View 구현 #4

@yejun614

Description

@yejun614

배경 소개

Server Driven UI 구현

기능 설명

서버에서 JSON 형식의 데이터를 받아 Rich Text Type을 화면에 출력하는데 필요한 View를 구현합니다.

요구사항

  • RichTextType(View Type)과 대응되는 component추가
  • RichTextType 구성요소인 text component 및 속성들 구현
    • text
    • fontSize
    • background
    • textColor
    • textStyle, underline
  • RichTextType 구성요소인 image component 및 속성들 구현
    • url
    • width, height

관련 자료

UI를 그리기 위한 Server측 Response 예시
{
  "responseData": {
    "screenName": "Home",
    "contents": [
      {
        "viewType": "BViewType",
        "content": {
          "title": "This is B ViewType"
        }
      },
      {
        "viewType": "AViewType",
        "content": {
          "title": "This is A ViewType",
          "iconUrl": "https://avatars.githubusercontent.com/u/103282546?s=200&v=4"
        }
      },
      {
        "viewType": "RichViewType",
        "content": {
          "title": "This is RichText ViewType",
          "richText": [
            {
              "text": {
                "text": "이것은",
                "fontSize": 14
              }
            },
            {
              "text": {
                "text": "새로운",
                "fontSize": 16
              }
            },
            {
              "text": {
                "text": "Rich Text",
                "background": "yellow",
                "fontSize": 24
              }
            },
            {
              "text": {
                "text": "ViewType",
                "textColor": "red",
                "fontSize": 30
              }
            },
            {
              "text": {
                "text": "어떻게 구현할수 있을까요?",
                "textStyle": [
                  "underline"
                ],
                "textSize": 24
              }
            },
            {
              "image": {
                "url": "https://img.icons8.com/?size=512&id=63684&format=png",
                "width": 24,
                "height": 24
              }
            }
          ]
        }
      }
    ]
  }
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions