สถานะระหว่างการโทร

  • กิจกรรมของโฮสต์: InCallActivity
  • เลย์เอาต์รูท: @layout/in_call_activity

หน้าจอสายเรียกเข้า

เศษ IncomingCallFragment

หน้าจอแป้นพิมพ์การโทรในโหมดแนวนอน

เลย์เอาต์: @layout/ongoing_call_fragment

หน้าจอสายเรียกเข้า

รูปที่ 1 หน้าจอสายเรียกเข้า

คอมโพเนนต์ [id:]ClassName พร็อพเพอร์ตี้ ค่า
background_image:
BackgroundImageView
@config/config_background_image_alpha 1.0
ใช้แบบเป็นโปรแกรมสําหรับรูปโปรไฟล์ของรายชื่อติดต่อ
@config/config_background_image_error_alpha 1.0
ใช้แบบเป็นโปรแกรมสำหรับการ์ดตัวอักษรสำหรับติดต่อ การตั้งค่าเป็น 0.0 จะซ่อนสีพื้นหลัง
user_profile_container:
@layout/user_profile_large
ไม่มี ไม่มี
ringing_call_controller_bar:
RingingCallControllerBarFragment
height @dimen/in_call_controller_bar_height
layout_margintStart
layout_marginEnd
layout_marginBottom
@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/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 ไม่มี ดูแป้นหมายเลขขณะโทร
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
layout_marginEnd
@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 ที่จะวางเลย์เอาต์ต่างกัน ดูโหมดแนวตั้งในหน้าสายเรียกเข้าด้วย

แป้นหมายเลขขณะโทร

เศษ InCallDialpadFragment

โหมดแนวนอน

เลย์เอาต์ @layout/incall_dialpad_fragment

หน้าจอแป้นพิมพ์การโทรในโหมดแนวนอน

รูปที่ 5 หน้าจอแป้นโทรศัพท์ระหว่างโทรในโหมดแนวนอน

คอมโพเนนต์ [id:]ClassName พร็อพเพอร์ตี้ ค่า
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

ปุ่มกดในโหมดแนวตั้งขณะโทร

เลย์เอาต์ @layout[-port]/incall_dialpad_fragment

หน้าจอแป้นโทรศัพท์ระหว่างโทรในโหมดแนวตั้ง

รูปที่ 6 หน้าจอแป้นโทรศัพท์ระหว่างโทรในโหมดแนวตั้ง

คอมโพเนนต์ [id:]ClassName พร็อพเพอร์ตี้ ค่า
dialpad_fragment: KeypadFragment layout_marginTop @dimen/keypad_margin
call_state: Chronometer layout_width match_parent เพื่อหลีกเลี่ยงการวาดมุมมองทั้งหมดใหม่เมื่ออัปเดตข้อความ
gravity center
textAppearance @style/TextAppearance.InCallState
marginStart
marginEnd
@dimen/dialpad_info_edge_padding_size
title: TextView gravity End together พร้อมกับตั้งค่าความกว้างเป็น wrap_content เพื่อจัดหมายเลขที่โทรให้อยู่ตรงกลางและค่อยๆ เลือนออกเมื่อเริ่มต้น
textAppearance @style/TextAppearance.DialNumber
marginStart
marginEnd
@dimen/dialpad_info_edge_padding_size

KeypadFragment ดูหัวข้อแป้นพิมพ์