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:constraint_referenced_ids="qc_icon" 73 app:barrierAllowsGoneWidgets="false"/> 74 75 <com.android.car.ui.uxr.DrawableStateTextView 76 android:id="@+id/qc_title" 77 android:layout_width="0dp" 78 android:layout_height="wrap_content" 79 android:layout_centerVertical="true" 80 android:singleLine="true" 81 android:textAppearance="@style/TextAppearance.QC.Title" 82 app:layout_constraintStart_toEndOf="@+id/barrier1" 83 app:layout_constraintTop_toTopOf="parent" 84 app:layout_constraintBottom_toTopOf="@+id/qc_summary" 85 app:layout_constraintEnd_toEndOf="parent" 86 app:layout_constraintVertical_chainStyle="packed"/> 87 88 <com.android.car.ui.uxr.DrawableStateTextView 89 android:id="@+id/qc_summary" 90 android:layout_width="0dp" 91 android:layout_height="wrap_content" 92 android:layout_centerVertical="true" 93 android:textAppearance="@style/TextAppearance.QC.Subtitle" 94 app:layout_constraintStart_toEndOf="@+id/barrier1" 95 app:layout_constraintEnd_toEndOf="parent" 96 app:layout_constraintTop_toBottomOf="@+id/qc_title" 97 app:layout_constraintBottom_toTopOf="@+id/barrier2"/> 98 99 <androidx.constraintlayout.widget.Barrier 100 android:id="@+id/barrier2" 101 android:layout_width="wrap_content" 102 android:layout_height="wrap_content" 103 app:barrierDirection="top" 104 app:constraint_referenced_ids="qc_seekbar_wrapper" 105 app:barrierAllowsGoneWidgets="false"/> 106 107 <androidx.preference.UnPressableLinearLayout 108 android:id="@+id/qc_seekbar_wrapper" 109 android:layout_width="0dp" 110 android:layout_height="wrap_content" 111 android:paddingTop="@dimen/qc_seekbar_padding_top" 112 android:focusable="true" 113 android:background="@drawable/qc_seekbar_wrapper_background" 114 android:clipChildren="false" 115 android:clipToPadding="false" 116 android:layout_centerVertical="true" 117 android:orientation="vertical" 118 android:visibility="gone" 119 app:layout_constraintStart_toEndOf="@+id/barrier1" 120 app:layout_constraintEnd_toEndOf="parent" 121 app:layout_constraintTop_toBottomOf="@+id/barrier2" 122 app:layout_constraintBottom_toBottomOf="parent"> 123 <com.android.car.qc.view.QCSeekBarView 124 android:id="@+id/seekbar" 125 android:layout_width="match_parent" 126 android:layout_height="wrap_content" 127 style="@style/Widget.QC.SeekBar"/> 128 </androidx.preference.UnPressableLinearLayout> 129 130 </com.android.car.ui.uxr.DrawableStateConstraintLayout> 131 132 <LinearLayout 133 android:id="@+id/qc_row_end_items" 134 android:layout_width="wrap_content" 135 android:layout_height="wrap_content" 136 android:layout_marginStart="@dimen/qc_action_items_horizontal_margin" 137 android:orientation="horizontal" 138 android:divider="@drawable/qc_row_action_divider" 139 android:showDividers="middle" 140 app:layout_constraintStart_toEndOf="@+id/qc_row_content" 141 app:layout_constraintEnd_toEndOf="parent" 142 app:layout_constraintTop_toTopOf="parent" 143 app:layout_constraintBottom_toBottomOf="parent"/> 144 145</com.android.car.ui.uxr.DrawableStateConstraintLayout> 146