1<?xml version="1.0" encoding="utf-8"?> 2<!-- 3 ~ Copyright (C) 2021 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<com.android.car.ui.uxr.DrawableStateConstraintLayout 19 xmlns:android="http://schemas.android.com/apk/res/android" 20 xmlns:app="http://schemas.android.com/apk/res-auto" 21 android:layout_width="match_parent" 22 android:layout_height="wrap_content" 23 android:layout_centerVertical="true" 24 android:layout_marginVertical="@dimen/qc_row_margin_vertical" 25 android:clipToPadding="false" 26 android:minHeight="@dimen/qc_row_min_height" 27 android:paddingEnd="@dimen/qc_row_padding_end" 28 android:paddingStart="@dimen/qc_row_padding_start"> 29 30 <LinearLayout 31 android:id="@+id/qc_row_start_items" 32 android:layout_width="wrap_content" 33 android:layout_height="wrap_content" 34 android:layout_marginEnd="@dimen/qc_action_items_horizontal_margin" 35 android:orientation="horizontal" 36 android:divider="@drawable/qc_row_action_divider" 37 android:showDividers="middle" 38 app:layout_constraintStart_toStartOf="parent" 39 app:layout_constraintTop_toTopOf="parent" 40 app:layout_constraintBottom_toBottomOf="parent" 41 app:layout_constraintEnd_toStartOf="@+id/qc_row_content" 42 app:layout_constraintHorizontal_chainStyle="spread_inside"/> 43 44 <com.android.car.ui.uxr.DrawableStateConstraintLayout 45 android:id="@+id/qc_row_content" 46 android:layout_width="0dp" 47 android:layout_height="0dp" 48 android:background="?android:attr/selectableItemBackground" 49 app:layout_constraintStart_toEndOf="@+id/qc_row_start_items" 50 app:layout_constraintEnd_toStartOf="@+id/qc_row_end_items" 51 app:layout_constraintTop_toTopOf="parent" 52 app:layout_constraintBottom_toBottomOf="parent" 53 app:layout_constraintHeight_default="wrap" 54 app:layout_constraintHeight_min="@dimen/qc_row_min_height"> 55 56 <com.android.car.ui.uxr.DrawableStateImageView 57 android:id="@+id/qc_icon" 58 android:layout_width="@dimen/qc_row_icon_size" 59 android:layout_height="@dimen/qc_row_icon_size" 60 android:layout_marginEnd="@dimen/qc_row_icon_margin_end" 61 android:scaleType="fitCenter" 62 app:layout_constraintStart_toStartOf="parent" 63 app:layout_constraintEnd_toStartOf="@+id/barrier1" 64 app:layout_constraintTop_toTopOf="parent" 65 app:layout_constraintBottom_toTopOf="@+id/barrier2"/> 66 67 <androidx.constraintlayout.widget.Barrier 68 android:id="@+id/barrier1" 69 android:layout_width="wrap_content" 70 android:layout_height="wrap_content" 71 app:barrierDirection="end" 72 app:barrierAllowsGoneWidgets="false"/> 73 74 <com.android.car.ui.uxr.DrawableStateTextView 75 android:id="@+id/qc_title" 76 android:layout_width="0dp" 77 android:layout_height="wrap_content" 78 android:layout_centerVertical="true" 79 android:singleLine="true" 80 style="@style/TextAppearance.QC.Title" 81 app:layout_constraintStart_toEndOf="@+id/barrier1" 82 app:layout_constraintTop_toTopOf="parent" 83 app:layout_constraintBottom_toTopOf="@+id/qc_summary" 84 app:layout_constraintEnd_toEndOf="parent" 85 app:layout_constraintVertical_chainStyle="packed"/> 86 87 <com.android.car.ui.uxr.DrawableStateTextView 88 android:id="@+id/qc_summary" 89 android:layout_width="0dp" 90 android:layout_height="wrap_content" 91 android:layout_centerVertical="true" 92 style="@style/TextAppearance.QC.Subtitle" 93 app:layout_constraintStart_toEndOf="@+id/barrier1" 94 app:layout_constraintEnd_toEndOf="parent" 95 app:layout_constraintTop_toBottomOf="@+id/qc_title" 96 app:layout_constraintBottom_toTopOf="@+id/qc_action_text"/> 97 98 <com.android.car.ui.uxr.DrawableStateTextView 99 android:id="@+id/qc_action_text" 100 android:layout_width="0dp" 101 android:layout_height="wrap_content" 102 android:layout_centerVertical="true" 103 style="@style/TextAppearance.QC.Subtitle" 104 app:layout_constraintStart_toEndOf="@+id/barrier1" 105 app:layout_constraintEnd_toEndOf="parent" 106 app:layout_constraintTop_toBottomOf="@+id/qc_summary" 107 app:layout_constraintBottom_toTopOf="@+id/barrier2"/> 108 109 <androidx.constraintlayout.widget.Barrier 110 android:id="@+id/barrier2" 111 android:layout_width="wrap_content" 112 android:layout_height="wrap_content" 113 app:barrierDirection="top" 114 app:constraint_referenced_ids="qc_seekbar_wrapper"/> 115 116 <androidx.preference.UnPressableLinearLayout 117 android:id="@+id/qc_seekbar_wrapper" 118 android:layout_width="0dp" 119 android:layout_height="wrap_content" 120 android:paddingTop="@dimen/qc_seekbar_padding_top" 121 android:focusable="true" 122 android:background="@drawable/qc_seekbar_wrapper_background" 123 android:clipChildren="false" 124 android:clipToPadding="false" 125 android:layout_centerVertical="true" 126 android:orientation="vertical" 127 android:visibility="gone" 128 app:layout_constraintStart_toEndOf="@+id/barrier1" 129 app:layout_constraintEnd_toEndOf="parent" 130 app:layout_constraintTop_toBottomOf="@+id/barrier2" 131 app:layout_constraintBottom_toBottomOf="parent"> 132 <com.android.car.qc.view.QCSeekBarView 133 android:id="@+id/qc_seekbar" 134 android:layout_width="match_parent" 135 android:layout_height="wrap_content" 136 style="@style/Widget.QC.SeekBar"/> 137 </androidx.preference.UnPressableLinearLayout> 138 139 </com.android.car.ui.uxr.DrawableStateConstraintLayout> 140 141 <LinearLayout 142 android:id="@+id/qc_row_end_items" 143 android:layout_width="wrap_content" 144 android:layout_height="wrap_content" 145 android:layout_marginStart="@dimen/qc_action_items_horizontal_margin" 146 android:orientation="horizontal" 147 android:divider="@drawable/qc_row_action_divider" 148 android:showDividers="middle" 149 app:layout_constraintStart_toEndOf="@+id/qc_row_content" 150 app:layout_constraintEnd_toEndOf="parent" 151 app:layout_constraintTop_toTopOf="parent" 152 app:layout_constraintBottom_toBottomOf="parent"/> 153 154</com.android.car.ui.uxr.DrawableStateConstraintLayout> 155