- Хост-активность:
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: | Н/Д | Н/Д |
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
- Рингингколлконтроллербарфрагмент.
@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/ongoing_call_fragment
что и альбомный режим, за исключением @layout [-port] /user_profile_large
, который расположен по-другому.
Рисунок 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 | Н/Д | См. панель набора InCall | |
user_profile_container: @layout/user_profile_large | Н/Д | То же, что @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 |
- Онхолдколлусерпрофилефрагмент.
@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
- Онгоингколлконтроллербарфрагмент.
@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 | Н/Д | См. клавиатуру |
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
. См. клавиатуру