1<?xml version="1.0" encoding="utf-8"?> 2<!-- 3 ~ Copyright (C) 2020 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<!-- CoordinatorLayout is necessary for various components (e.g. Snackbars, and 19 BottomSheet) to operate correctly. --> 20<androidx.coordinatorlayout.widget.CoordinatorLayout 21 xmlns:android="http://schemas.android.com/apk/res/android" 22 xmlns:app="http://schemas.android.com/apk/res-auto" 23 xmlns:tools="http://schemas.android.com/tools" 24 android:orientation="vertical" 25 android:layout_width="match_parent" 26 android:layout_height="match_parent" 27 tools:context=".MainActivity"> 28 29 <LinearLayout 30 android:layout_width="match_parent" 31 android:layout_height="match_parent" 32 android:id="@+id/bottom_sheet" 33 android:background="@color/picker_background_color" 34 android:clipToOutline="true" 35 android:orientation="vertical" 36 app:behavior_hideable="true" 37 app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"> 38 39 <ImageView 40 android:id="@+id/drag_bar" 41 android:layout_width="wrap_content" 42 android:layout_height="wrap_content" 43 android:layout_gravity="center_horizontal" 44 android:layout_marginBottom="@dimen/picker_drag_margin_bottom" 45 android:layout_marginTop="@dimen/picker_drag_margin_top" 46 android:scaleType="fitCenter" 47 android:src="@drawable/ic_drag" 48 android:contentDescription="@null"/> 49 50 <com.android.providers.media.photopicker.ui.SafetyProtectionSectionView 51 android:layout_width="wrap_content" 52 android:layout_height="wrap_content" 53 android:layout_marginBottom="5dp" 54 android:layout_gravity="center" /> 55 56 <TextView 57 android:id="@+id/privacy_text" 58 android:layout_width="wrap_content" 59 android:layout_height="wrap_content" 60 android:layout_gravity="center_horizontal" 61 android:layout_marginHorizontal="@dimen/picker_privacy_text_horizontal_gap" 62 android:layout_marginBottom="@dimen/picker_privacy_text_margin_bottom" 63 android:layout_marginTop="@dimen/picker_privacy_text_margin_top" 64 android:gravity="center_horizontal" 65 android:text="@string/picker_privacy_message" 66 android:textColor="?android:attr/textColorPrimary" 67 android:textSize="@dimen/picker_privacy_text_size" 68 style="?android:attr/textAppearanceListItem"/> 69 70 <FrameLayout 71 android:layout_width="match_parent" 72 android:layout_height="match_parent"> 73 74 <androidx.fragment.app.FragmentContainerView 75 android:id="@+id/fragment_container" 76 android:layout_width="match_parent" 77 android:layout_height="match_parent" 78 android:importantForAccessibility="yes"/> 79 80 <com.google.android.material.appbar.AppBarLayout 81 android:layout_width="match_parent" 82 android:layout_height="wrap_content" 83 android:layout_gravity="top" 84 android:background="@android:color/transparent" 85 app:liftOnScroll="true"> 86 87 <androidx.appcompat.widget.Toolbar 88 android:id="@+id/toolbar" 89 android:layout_width="match_parent" 90 android:layout_height="?attr/actionBarSize" 91 android:background="@color/picker_background_color" 92 android:importantForAccessibility="yes" 93 android:accessibilityTraversalAfter="@+id/privacy_text" 94 android:accessibilityTraversalBefore="@+id/fragment_container" 95 app:titleTextColor="?attr/pickerTextColor" 96 app:titleTextAppearance="@style/PickerToolbarTitleTextAppearance"> 97 98 <com.google.android.material.tabs.TabLayout 99 android:id="@+id/tab_layout" 100 android:layout_width="wrap_content" 101 android:layout_height="wrap_content" 102 android:background="@color/picker_background_color" 103 android:layout_gravity="center" 104 app:tabBackground="@drawable/picker_tab_background" 105 app:tabIndicatorAnimationMode="linear" 106 app:tabIndicatorColor="?attr/pickerSelectedTabBackgroundColor" 107 app:tabIndicatorGravity="center" 108 app:tabMinWidth="@dimen/picker_tab_min_width" 109 app:tabPaddingStart="@dimen/picker_tab_horizontal_gap" 110 app:tabPaddingEnd="@dimen/picker_tab_horizontal_gap" 111 app:tabRippleColor="@null" 112 app:tabSelectedTextColor="?attr/pickerSelectedTabTextColor" 113 app:tabTextAppearance="@style/PickerTabTextAppearance" 114 app:tabTextColor="?android:attr/textColorSecondary" /> 115 116 </androidx.appcompat.widget.Toolbar> 117 118 </com.google.android.material.appbar.AppBarLayout> 119 120 <LinearLayout 121 android:id="@+id/picker_bottom_bar" 122 android:layout_width="match_parent" 123 android:layout_height="@dimen/picker_bottom_bar_size" 124 android:layout_gravity="bottom" 125 android:background="@color/picker_background_color" 126 android:elevation="@dimen/picker_bottom_bar_elevation" 127 android:visibility="gone" 128 android:orientation="horizontal"> 129 130 <com.google.android.material.button.MaterialButton 131 android:id="@+id/button_view_selected" 132 android:layout_width="0dp" 133 android:layout_height="wrap_content" 134 android:layout_weight="2" 135 android:layout_marginHorizontal="@dimen/picker_bottom_bar_horizontal_gap" 136 android:gravity="start|center_vertical" 137 android:paddingVertical="@dimen/picker_bottom_bar_buttons_vertical_gap" 138 android:text="@string/picker_view_selected" 139 android:textAllCaps="false" 140 android:textColor="?attr/pickerSelectedColor" 141 android:maxLines="1" 142 android:ellipsize="end" 143 app:icon="@drawable/ic_collections" 144 app:iconPadding="@dimen/picker_viewselected_icon_padding" 145 app:iconSize="@dimen/picker_viewselected_icon_size" 146 app:iconTint="?attr/pickerSelectedColor" 147 app:iconGravity="textStart" 148 style="@style/MaterialBorderlessButtonStyle"/> 149 150 <Button 151 android:id="@+id/button_add" 152 android:layout_width="0dp" 153 android:layout_height="wrap_content" 154 android:layout_weight="1" 155 android:layout_marginHorizontal="@dimen/picker_bottom_bar_horizontal_gap" 156 android:gravity="center|center_vertical" 157 android:paddingVertical="@dimen/picker_bottom_bar_buttons_vertical_gap" 158 android:text="@string/add" 159 android:textAllCaps="false" 160 android:textColor="?attr/pickerHighlightTextColor" 161 android:maxLines="1" 162 android:ellipsize="middle" 163 android:backgroundTint="?attr/pickerHighlightColor" 164 style="@style/MaterialButtonStyle"/> 165 166 </LinearLayout> 167 168 </FrameLayout> 169 170 </LinearLayout> 171 172 <com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton 173 android:id="@+id/profile_button" 174 android:layout_width="wrap_content" 175 android:layout_height="wrap_content" 176 android:layout_marginBottom="@dimen/picker_profile_button_margin_bottom" 177 android:layout_gravity="bottom|center" 178 android:textAppearance="@style/PickerButtonTextAppearance" 179 android:textColor="?attr/pickerProfileButtonTextColor" 180 android:text="@string/picker_work_profile" 181 android:visibility="gone" 182 android:accessibilityTraversalAfter="@+id/toolbar" 183 android:accessibilityTraversalBefore="@+id/fragment_container" 184 app:backgroundTint="?attr/pickerProfileButtonColor" 185 app:borderWidth="0dp" 186 app:elevation="3dp" 187 app:icon="@drawable/ic_work_outline"/> 188 189 <com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton 190 android:id="@+id/profile_menu_button" 191 android:layout_width="wrap_content" 192 android:layout_height="wrap_content" 193 android:layout_marginBottom="@dimen/picker_profile_button_margin_bottom" 194 android:layout_gravity="bottom|center" 195 android:textAppearance="@style/PickerButtonTextAppearance" 196 android:textColor="?attr/pickerProfileButtonTextColor" 197 android:visibility="gone" 198 android:accessibilityTraversalAfter="@+id/toolbar" 199 android:accessibilityTraversalBefore="@+id/fragment_container" 200 app:backgroundTint="?attr/pickerProfileButtonColor" 201 app:borderWidth="0dp" 202 app:elevation="3dp"/> 203 204</androidx.coordinatorlayout.widget.CoordinatorLayout> 205