- 호스트 활동:
InCallActivity
- 루트 레이아웃:
@layout/in_call_activity
수신 전화 화면
프래그먼트: IncomingCallFragment
가로 모드의 InCall 다이얼패드 화면
레이아웃: @layout/ongoing_call_fragment
그림 1. 수신 전화 화면
구성요소 [id:]클래스 이름 | 속성 | 값 |
---|---|---|
background_image: |
@config/config_background_image_alpha |
1.0 연락처 아바타에 프로그래매틱 방식으로 사용됩니다. |
@config/config_background_image_error_alpha |
1.0 연락처 문자 타일에 프로그래매틱 방식으로 사용됩니다. 0.0으로 설정하면 배경 색상이 숨겨집니다. |
|
user_profile_container: |
N/A | N/A |
ringing_call_controller_bar: |
height |
@dimen/in_call_controller_bar_height |
layout_margintStart |
@dimen/in_call_controller_bar_margin |
- 사용자 프로필:
@layout/user_profile_large
Component [id:]ClassName
속성 값 root: LinearLayout
orientation
horizontal
paddingStart
paddingEnd@dimen/in_call_user_profile_margin
user_profile_avatar: ImageView
width
in_call_avatar_icon_size
height
in_call_avatar_icon_size
scaleType
fitCenter
User info: LinearLayout
paddingStart
@dimen/in_call_margin_between_avatar_and_text
user_profile_title:TextView
textAppearance
@style/TextAppearance.InCallUserTitle
user_profile_phone_number: TextView
textAppearance
@style/TextAppearance.InCallUserPhoneNumber
marginTop
@dimen/in_call_phone_number_margin_top
user_profile_call_state: Chronometer
textAppearance
@style/TextAppearance.InCallState
marginTop
@dimen/in_call_state_margin_top
- RingingCallControllerBarFragment:
@layout/ringing_call_controller_bar_fragment
Component [id:]ClassName
속성 값 root: ConstraintLayout
height
@dimen/in_call_controller_bar_height
background
@android:color/transparent
answer_call_button: ImageView
width
height@dimen/ringing_call_button_touch_target_size
background
@drawable/dialer_ripple_background
src
@drawable/ic_phone
tint
@color/phone_call
scaleType
center
answer_call_text: TextView
marginStart
@dimen/ringing_call_text_margin
text
@string/answer_call
textAppearance
?android:attr/textAppearanceLarge
end_call_button: ImageView
width
height@dimen/ringing_call_button_touch_target_size
background
@drawable/dialer_ripple_background
src
@drawable/ic_call_end
tint
@color/phone_end_call
scaleType
center
end_call_text: TextView
marginStart
@dimen/ringing_call_text_margin
text
@string/decline_call
textAppearance
?android:attr/textAppearanceLarge
mid_line: Guideline
constraintGuide_percent
0.5
세로 모드의 수신 전화
세로 모드의 수신 전화 페이지는 @layout[-port]/user_profile_large
가 다르게 배치되는 것을 제외하고 동일한 @layout/ongoing_call_fragment
를 가로 모드와 공유합니다.
그림 2. 세로 모드의 수신 전화
- 사용자 프로필:
@layout/user_profile_large
Component [id:]ClassName
속성 값 root: LinearLayout
orientation
vertical
gravity
center
user_profile_avatar: ImageView
width
in_call_avatar_icon_size
height
in_call_avatar_icon_size
scaleType
fitCenter
user_profile_title: TextView
textAppearance
@style/TextAppearance.InCallUserTitle
paddingTop
@dimen/in_call_margin_between_avatar_and_text
user_profile_phone_number: TextView
textAppearance
@style/TextAppearance.InCallUserPhoneNumber
paddingTop
@dimen/in_call_phone_number_margin_top
user_profile_call_state: Chronometer
textAppearance
@style/TextAppearance.InCallState
paddingTop
@dimen/in_call_state_margin_top
진행 중인 통화 페이지
프래그먼트: OngoingCallFragment
가로 모드
그림 3. 가로 모드의 진행 중인 통화 화면
Component [id:]ClassName |
속성 | 값 | |
---|---|---|---|
background_image: BackgroundImageView |
@config/config_background_image_alpha |
1.0 연락처 아바타에 프로그래매틱 방식으로 사용됩니다. |
|
@config/config_background_image_error_alpha |
1.0 연락처 문자 타일에 프로그래매틱 방식으로 사용됩니다. 0.0으로 설정하면 배경 색상이 숨겨집니다. |
||
다른 뷰의 컨테이너: ConstraintLayout |
background |
@android:color/transparent 컨트롤 바 버튼에 물결이 작동하도록 하기 위해 필요합니다. |
|
incall_dialpad_fragment: InCallDialpadFragment |
N/A | InCall 다이얼패드를 참고하세요. | |
user_profile_container: @layout/user_profile_large |
N/A | 수신 전화 페이지의 @layout/user_profile_large 와 동일합니다.
|
|
onhold_user_profile: OnHoldCallUserProfileFragment |
height |
@dimen/onhold_user_info_height |
|
layout_marginTop |
@dimen/onhold_profile_margin_y |
||
layout_marginStart |
@dimen/onhold_profile_margin_x |
||
ongoing_call_control_bar: OnGoingCallControllerBarFragment |
layout_marginBottom |
@dimen/in_call_controller_bar_margin |
|
layout_marginHorizontal |
@dimen/in_call_controller_bar_margin |
- OnHoldCallUserProfileFragment:
@layout/onhold_user_profile
구성요소 [id:]클래스 이름 속성 값 root: CardView
android:elevation
@dimen/dialer_card_elevation
cardBackgroundColor
@color/onhold_call_background
cardCornerRadius
@dimen/onhold_profile_corner_radius
swap_calls_view: ConstraintLayout
background
?android:attr/selectableItemBackground
guideline: Guideline
layout_constraintGuide_begin
@dimen/onhold_profile_guideline
icon: ImageView
width
height@dimen/avatar_icon_size
scaleType
centerCrop
layout_marginStart
@dimen/onhold_profile_avatar_margin
title: TextView
textAppearance
?android:attr/textAppearanceLarge
text: TextView
text
@string/onhold_call_label
textAppearance
?android:attr/textAppearanceSmall
swap_call_button: ImageView
src
@drawable/ic_swap_calls
tint
@color/secondary_icon_color
scaleType
center
paddingLeft
paddingRight@dimen/swap_call_button_margin
- OnGoingCallControllerBarFragment:
@layout/on_going_call_controller_bar_fragment
Component [id:]ClassName
속성 값 root: ConstraintLayout
height
@dimen/in_call_controller_bar_height
mute_button: ImageView
width
height@dimen/in_call_button_size
scaleType
center
src
@drawable/ic_mute_activatable
background
@drawable/dialer_ripple_background
toggle_dialpad_button: ImageView
width
height@dimen/in_call_button_size
scaleType
center
src
@drawable/ic_dialpad_activatable
background
@drawable/dialer_ripple_background
end_call_button: ImageView
style
@style/DialpadPrimaryButton
src
@drawable/ic_call_end_button
voice_channel_view: LinearLayout
orientation
vertical
voice_channel_button: ImageView
width
height@dimen/in_call_button_size
scaleType
center
src
@drawable/ic_audio_route_vehicle_activatable
background
@drawable/dialer_ripple_background
voice_channel_text: TextView
visibility
gone
pause_button: ImageView
width
height@dimen/in_call_button_size
scaleType
center
src
@drawable/ic_pause_activatable
background
@drawable/dialer_ripple_background
그림 4. 세로 모드의 진행 중인 통화 페이지
세로 모드는 @layout/user_profile_large
가 다르게 배치되는 점을 제외하고 동일한 레이아웃을 공유합니다. 수신 전화 페이지의 세로 모드도 참고하세요.
InCall 다이얼패드
프래그먼트: InCallDialpadFragment
가로 모드
레이아웃: @layout/incall_dialpad_fragment
그림 5. 가로 모드의 InCall 다이얼패드 화면
구성요소 [id:]클래스 이름 | 속성 | 값 |
---|---|---|
divider: Guideline |
layout_constraintGuide_percent |
0.5 |
dialpad_fragment: KeypadFragment |
N/A | 키패드 참고 |
dialpad_info_boundaries: View |
height |
dialpad_fragment 와 동일 |
layout_constraintDimensionRatio |
W, 1:1 |
|
call_state: Chronometer |
layout_width |
match_parent . 텍스트 업데이트 시 전체 뷰를 다시 그리지 않습니다. |
textAppearance |
@style/TextAppearance.InCallState |
|
marginBottom |
@dimen/call_state_padding |
|
title: TextView |
textAppearance |
@style/TextAppearance.DialNumber |
세로 모드의 InCall 다이얼패드
레이아웃: @layout[-port]/incall_dialpad_fragment
그림 6. 세로 모드의 InCall 다이얼패드 화면
구성요소 [id:]클래스 이름 | 속성 | 값 |
---|---|---|
dialpad_fragment: KeypadFragment |
layout_marginTop |
@dimen/keypad_margin |
call_state: Chronometer |
layout_width |
match_parent . 텍스트 업데이트 시 전체 뷰를 다시 그리지 않습니다. |
gravity |
center |
|
textAppearance |
@style/TextAppearance.InCallState |
|
marginStart |
@dimen/dialpad_info_edge_padding_size |
|
title: TextView |
gravity |
wrap_content 로 설정된 너비와 함께 발신 번호를 중앙에 놓고 시작 시 끝으로 페이드 아웃합니다. |
textAppearance |
@style/TextAppearance.DialNumber |
|
marginStart |
@dimen/dialpad_info_edge_padding_size |
KeypadFragment
. 키패드를 참고하세요.