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/barrier2"/> 97 98 <androidx.constraintlayout.widget.Barrier 99 android:id="@+id/barrier2" 100 android:layout_width="wrap_content" 101 android:layout_height="wrap_content" 102 app:barrierDirection="top" 103 app:constraint_referenced_ids="qc_seekbar_wrapper"/> 104 105 <androidx.preference.UnPressableLinearLayout 106 android:id="@+id/qc_seekbar_wrapper" 107 android:layout_width="0dp" 108 android:layout_height="wrap_content" 109 android:paddingTop="@dimen/qc_seekbar_padding_top" 110 android:focusable="true" 111 android:background="@drawable/qc_seekbar_wrapper_background" 112 android:clipChildren="false" 113 android:clipToPadding="false" 114 android:layout_centerVertical="true" 115 android:orientation="vertical" 116 android:visibility="gone" 117 app:layout_constraintStart_toEndOf="@+id/barrier1" 118 app:layout_constraintEnd_toEndOf="parent" 119 app:layout_constraintTop_toBottomOf="@+id/barrier2" 120 app:layout_constraintBottom_toBottomOf="parent"> 121 <com.android.car.qc.view.QCSeekBarView 122 android:id="@+id/qc_seekbar" 123 android:layout_width="match_parent" 124 android:layout_height="wrap_content" 125 style="@style/Widget.QC.SeekBar"/> 126 </androidx.preference.UnPressableLinearLayout> 127 128 </com.android.car.ui.uxr.DrawableStateConstraintLayout> 129 130 <LinearLayout 131 android:id="@+id/qc_row_end_items" 132 android:layout_width="wrap_content" 133 android:layout_height="wrap_content" 134 android:layout_marginStart="@dimen/qc_action_items_horizontal_margin" 135 android:orientation="horizontal" 136 android:divider="@drawable/qc_row_action_divider" 137 android:showDividers="middle" 138 app:layout_constraintStart_toEndOf="@+id/qc_row_content" 139 app:layout_constraintEnd_toEndOf="parent" 140 app:layout_constraintTop_toTopOf="parent" 141 app:layout_constraintBottom_toBottomOf="parent"/> 142 143</com.android.car.ui.uxr.DrawableStateConstraintLayout> 144