1<?xml version="1.0" encoding="utf-8"?> 2<!-- 3 ~ Copyright 2019 The Android Open Source Project 4 ~ 5 ~ Licensed under the Apache License, Version 2.0 (the "License"); 6 ~ you may not use this file except in compliance with the License. 7 ~ You may obtain a copy of the License at 8 ~ 9 ~ http://www.apache.org/licenses/LICENSE-2.0 10 ~ 11 ~ Unless required by applicable law or agreed to in writing, software 12 ~ distributed under the License is distributed on an "AS IS" BASIS, 13 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 ~ See the License for the specific language governing permissions and 15 ~ limitations under the License. 16 --> 17 18<androidx.constraintlayout.widget.ConstraintLayout 19 xmlns:android="http://schemas.android.com/apk/res/android" 20 xmlns:app="http://schemas.android.com/apk/res-auto" 21 style="@style/MinimizedControlBar" 22 android:id="@+id/minimized_control_bar_layout" 23 android:layout_marginHorizontal="@dimen/minimized_control_bar_margin_x" 24 android:layout_marginBottom="@dimen/minimized_control_bar_margin_bottom" 25 android:background="@drawable/minimized_control_bar_background"> 26 27 <View 28 android:id="@+id/metadata_background" 29 android:layout_width="0dp" 30 android:layout_height="0dp" 31 android:background="?android:attr/selectableItemBackground" 32 app:layout_constraintTop_toTopOf="parent" 33 app:layout_constraintBottom_toBottomOf="parent" 34 app:layout_constraintStart_toStartOf="parent" 35 app:layout_constraintEnd_toStartOf="@+id/minimized_control_buttons_wrapper"/> 36 37 <ImageView 38 android:id="@+id/minimized_control_bar_content_tile" 39 android:layout_width="@dimen/minimized_control_bar_content_tile_size" 40 android:layout_height="@dimen/minimized_control_bar_content_tile_size" 41 android:layout_marginStart="@dimen/minimized_control_bar_edge_padding" 42 app:layout_constraintTop_toTopOf="parent" 43 app:layout_constraintBottom_toBottomOf="parent" 44 app:layout_constraintStart_toStartOf="parent" 45 app:layout_constraintEnd_toStartOf="@+id/minimized_control_bar_title"/> 46 47 <TextView 48 android:id="@+id/minimized_control_bar_title" 49 style="@style/MinimizedControlBarTitle" 50 android:layout_width="0dp" 51 android:layout_height="wrap_content" 52 android:layout_marginHorizontal="@dimen/minimized_control_bar_text_padding" 53 android:singleLine="true" 54 app:layout_constraintVertical_chainStyle="packed" 55 app:layout_constraintTop_toTopOf="parent" 56 app:layout_constraintBottom_toTopOf="@+id/minimized_control_bar_subtitle" 57 app:layout_constraintStart_toEndOf="@+id/minimized_control_bar_content_tile" 58 app:layout_constraintEnd_toStartOf="@+id/minimized_control_buttons_wrapper"/> 59 60 <TextView 61 android:id="@+id/minimized_control_bar_subtitle" 62 style="@style/MinimizedControlBarSubtitle" 63 android:layout_width="0dp" 64 android:layout_height="wrap_content" 65 android:singleLine="true" 66 app:layout_constraintTop_toBottomOf="@+id/minimized_control_bar_title" 67 app:layout_constraintBottom_toBottomOf="parent" 68 app:layout_constraintStart_toStartOf="@+id/minimized_control_bar_title" 69 app:layout_constraintEnd_toEndOf="@+id/minimized_control_bar_title"/> 70 71 <!-- Using a LinearLayout as a wrapper to be able to define layout constraints between the 72 parent (ConstraintLayout with locale based layout) and the child (LinearLayout with LTR 73 layout). --> 74 <LinearLayout 75 android:id="@+id/minimized_control_buttons_wrapper" 76 android:layout_width="wrap_content" 77 android:layout_height="0dp" 78 android:orientation="horizontal" 79 android:layout_marginEnd="@dimen/minimized_control_bar_edge_padding" 80 android:clipChildren="false" 81 app:layout_constraintTop_toTopOf="parent" 82 app:layout_constraintBottom_toBottomOf="parent" 83 app:layout_constraintStart_toEndOf="@+id/minimized_control_bar_title" 84 app:layout_constraintEnd_toEndOf="parent"> 85 <LinearLayout 86 android:layout_width="wrap_content" 87 android:layout_height="wrap_content" 88 android:orientation="horizontal" 89 android:clipChildren="false" 90 android:layoutDirection="ltr" 91 android:layout_gravity="center_vertical"> 92 <include 93 android:id="@+id/minimized_control_bar_left_slot" 94 android:layout_width="@dimen/minimized_control_bar_button_size" 95 android:layout_height="@dimen/minimized_control_bar_button_size" 96 android:layout_marginEnd="@dimen/minimized_control_bar_button_padding" 97 android:layout_gravity="center_vertical" 98 android:layout_weight="1" 99 layout="@layout/control_bar_slot"/> 100 <include 101 android:id="@+id/minimized_control_bar_main_slot" 102 android:layout_width="@dimen/minimized_control_bar_button_size" 103 android:layout_height="@dimen/minimized_control_bar_button_size" 104 android:layout_gravity="center_vertical" 105 android:layout_weight="1" 106 layout="@layout/control_bar_slot"/> 107 <include 108 android:id="@+id/minimized_control_bar_right_slot" 109 android:layout_width="@dimen/minimized_control_bar_button_size" 110 android:layout_height="@dimen/minimized_control_bar_button_size" 111 android:layout_marginStart="@dimen/minimized_control_bar_button_padding" 112 android:layout_gravity="center_vertical" 113 android:layout_weight="1" 114 layout="@layout/control_bar_slot"/> 115 </LinearLayout> 116 </LinearLayout> 117 118 119</androidx.constraintlayout.widget.ConstraintLayout>