Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Waffle 텍스트 편집 위젯 구현 #22

Open
4 tasks done
heesung6701 opened this issue Jun 3, 2023 · 12 comments
Open
4 tasks done

Waffle 텍스트 편집 위젯 구현 #22

heesung6701 opened this issue Jun 3, 2023 · 12 comments
Assignees

Comments

@heesung6701
Copy link
Member

heesung6701 commented Jun 3, 2023

체크리스트

  • 제목을 입력하셨나요?
  • Assignee를 지정하셨나요?
  • 프로젝트를 지정하셨나요?
  • 이 DEEP에 맞는 label을 지정하셨나요? (deep-automation, deep-library, deep-product)

요약

No response

필요한 이유

DoneDone에서 사용되는 텍스트 편집 위젯은 AOSP GUI와 조금 다르다.
와플만의 GUI를 가진 텍스트 편집 위젯을 구현 한다.

스크린샷 2023-06-03 오후 8 39 54
스크린샷 2023-06-03 오후 8 40 05
스크린샷 2023-06-03 오후 8 33 26
스크린샷 2023-06-03 오후 8 32 51

목표

Waffle 텍스트 편집 위젯 구현

추후 목표

No response

계획

  • EditText, AutoCompleteTextView, MultiAutoCompleteTextView 검토
  • Waffle 텍스트 편집 위젯 구현 구현

논의 사항

  • 슈퍼 클래스로 어떤 뷰를 가져갈 것인가?
@heesung6701 heesung6701 self-assigned this Jun 3, 2023
@heesung6701 heesung6701 added this to MVP Jun 3, 2023
@heesung6701 heesung6701 changed the title Waffle SearchView 만들기 WaffleAutoCompleteTextView 구현 Jun 3, 2023
@heesung6701 heesung6701 changed the title WaffleAutoCompleteTextView 구현 Waffle 텍스트 편집 모듈 구현 Jun 3, 2023
@heesung6701 heesung6701 changed the title Waffle 텍스트 편집 모듈 구현 Waffle 텍스트 편집 위젯 구현 Jun 3, 2023
@heesung6701
Copy link
Member Author

heesung6701 commented Jun 3, 2023

스크린샷 2023-06-03 오후 8 50 59

자동 완성 지원 안하는 위젯은 WaffleEditText

@heesung6701
Copy link
Member Author

스크린샷 2023-06-03 오후 8 51 41

위 화면에서 자동 완성을 지원 하지만 하나의 위젯에서 지원되기 보다 EditText + ChipGruop + 추천 완성이 묶여 있는 CompundWidget으로 보는 것이 더 적절해 보임.

@heesung6701
Copy link
Member Author

heesung6701 commented Jun 3, 2023

EditText 입력 시 하단에 chip을 보여주는 Compound Widget으로 볼 수 있을 거 같음.

❓ 자동완성 팝업을 지원 하는가?
❓ 하단의 칩 버튼은 추천 목록인데 EditText의 입력에 따라서 바뀌는건가 아니면 고정인가?

스크린샷 2023-06-03 오후 8 53 24

던을 입력하는 화면은 자동완성을 지원할 필요가 없기 때문에 AutoCompleteTextView 보다는 EditText에 가까움

스크린샷 2023-06-03 오후 8 53 33

@heesung6701
Copy link
Member Author

heesung6701 commented Jun 3, 2023

💡 ViewSystem의 제약

AOSP에서 아래와 같이 상속되는 구조 인데

MultiAutoCompleteTextView < AutoCompleteTextView < EditText < TextView

EditText에 해당하는 WaffleEditTextView를 만들 수 있지만 기존에 존재하던 AutoCompleteTextView의 부모 클래스는 변경이 불가능하다.

결국 WaffleEditText에 추가된 로직은 WaffleAutoCompleteTextView, WaffleMultiAutoCompleteTextView 각각에 추가 해야 하는 상황에 직면하게 된다,

```
MultiAutoCompleteTextView AutoCompleteTextView EditText TextView
WaffleMultiAutoCompleteTextView WaffleAutoCompleteTextView WaffleEditText WaffleTextView

@jisungbin
Copy link
Contributor

jisungbin commented Jun 3, 2023

와 희성님 ㅋㅋㅋㅋㅋㅋ 대체 어디까지 분석하신 거예요,, 대박입니다 ㅜ

@jisungbin jisungbin moved this to 🏗 In progress in MVP Jun 3, 2023
@jisungbin
Copy link
Contributor

스크린샷 2023-06-03 오후 8 50 59

WaffleTextField의 지원 범위가 아래 3개가 되는 건가요?

  1. 텍스트 입력
  2. trailing icon (clickable)
  3. counter

@jisungbin
Copy link
Contributor

슈퍼 클래스로 어떤 뷰를 가져갈 것인가?

AppCompatEditText 어떨까요!

@heesung6701
Copy link
Member Author

스크린샷 2023-06-03 오후 8 50 59

WaffleTextField의 지원 범위가 아래 3개가 되는 건가요?

  1. 텍스트 입력
  2. trailing icon (clickable)
  3. counter

타입도 2가지로 봐야할거같아요!
카운터가 내부 포함되는 스타일과
외부에 있는 스타일!

@heesung6701
Copy link
Member Author

슈퍼 클래스로 어떤 뷰를 가져갈 것인가?

AppCompatEditText 어떨까요!

AutoComplete는 무시하고 EditText로만 구현하거나 EditText를 포함하는 compoundView를 만들수도 있겠네요!

@heesung6701
Copy link
Member Author

EditTextView를 상속한 구조가 아닌 FrameLayout을 상속한 CompoundView로 구현하겠습니다!
WaffleEditText대신 WaffleTextInput으로 이름 가져가겠습니다.
WaffleTextInput는 2가지 variation을 가져갑니다.

  1. content 영역 -> 글자수가 하단에 표시
  2. 앱바 영역 -> 글자수가 우측에 표시

@heesung6701
Copy link
Member Author

태그 영역이랑 겹쳐져서.. EditText + support text(0 / 20 + progress bar)를 하나의 뷰로 가져가지는 어려울 것으로 보임..

스크린샷 2023-06-11 오후 1 52 05

@heesung6701
Copy link
Member Author

프로그래스바 유무가 아직 미정으로 보임. => 디자인 확정에 따라 변경 하면 될 거 같아서 문제는 없어 보임.
스크린샷 2023-06-11 오후 1 53 16

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🏗 In progress
Development

No branches or pull requests

2 participants