diff --git a/car-ui-lib/res/color/car_ui_tab_item_selector.xml b/car-ui-lib/res/color/car_ui_toolbar_tab_item_selector.xml
similarity index 81%
rename from car-ui-lib/res/color/car_ui_tab_item_selector.xml
rename to car-ui-lib/res/color/car_ui_toolbar_tab_item_selector.xml
index c9c8d8d..b2ec68a 100644
--- a/car-ui-lib/res/color/car_ui_tab_item_selector.xml
+++ b/car-ui-lib/res/color/car_ui_toolbar_tab_item_selector.xml
@@ -16,6 +16,6 @@
   -->
 
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:color="@color/car_ui_tab_selected_color" android:state_selected="true"/>
-    <item android:color="@color/car_ui_tab_unselected_color"/>
+    <item android:color="@color/car_ui_toolbar_tab_selected_color" android:state_selected="true"/>
+    <item android:color="@color/car_ui_toolbar_tab_unselected_color"/>
 </selector>
diff --git a/car-ui-lib/res/layout-port/car_ui_toolbar.xml b/car-ui-lib/res/layout-port/car_ui_toolbar.xml
index 16014dc..2ea89d0 100644
--- a/car-ui-lib/res/layout-port/car_ui_toolbar.xml
+++ b/car-ui-lib/res/layout-port/car_ui_toolbar.xml
@@ -23,35 +23,35 @@
     <androidx.constraintlayout.widget.Guideline
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:id="@+id/toolbar_start_guideline"
+        android:id="@+id/car_ui_toolbar_start_guideline"
         app:layout_constraintGuide_begin="@dimen/car_ui_toolbar_start_inset"
         android:orientation="vertical"/>
 
     <androidx.constraintlayout.widget.Guideline
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:id="@+id/toolbar_top_guideline"
+        android:id="@+id/car_ui_toolbar_top_guideline"
         app:layout_constraintGuide_begin="@dimen/car_ui_toolbar_top_inset"
         android:orientation="horizontal"/>
 
     <androidx.constraintlayout.widget.Guideline
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:id="@+id/toolbar_end_guideline"
+        android:id="@+id/car_ui_toolbar_end_guideline"
         app:layout_constraintGuide_end="@dimen/car_ui_toolbar_end_inset"
         android:orientation="vertical"/>
 
     <androidx.constraintlayout.widget.Guideline
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:id="@+id/toolbar_bottom_guideline"
+        android:id="@+id/car_ui_toolbar_bottom_guideline"
         app:layout_constraintGuide_end="@dimen/car_ui_toolbar_bottom_inset"
         android:orientation="horizontal"/>
 
     <androidx.constraintlayout.widget.Guideline
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:id="@+id/toolbar_start_margin_guideline"
+        android:id="@+id/car_ui_toolbar_start_margin_guideline"
         app:layout_constraintGuide_begin="@dimen/car_ui_toolbar_margin"
         android:orientation="vertical"/>
 
@@ -66,7 +66,7 @@
         android:focusableInTouchMode="true"/>
 
     <androidx.constraintlayout.widget.Guideline
-        android:id="@+id/row_separator_guideline"
+        android:id="@+id/car_ui_toolbar_row_separator_guideline"
         android:layout_width="0dp"
         android:layout_height="0dp"
         android:orientation="horizontal"
@@ -74,32 +74,32 @@
 
     <!-- can't use 0dp for layout_height or the constraintlayout effect kicks in -->
     <View
-        android:id="@+id/row_separator"
+        android:id="@+id/car_ui_toolbar_row_separator"
         android:layout_width="match_parent"
         android:layout_height="0.01dp"
         style="@style/Widget.CarUi.Toolbar.SeparatorView"
-        app:layout_constraintTop_toBottomOf="@id/row_separator_guideline"
+        app:layout_constraintTop_toBottomOf="@id/car_ui_toolbar_row_separator_guideline"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toEndOf="parent"/>
 
     <FrameLayout
-        android:id="@+id/nav_icon_container"
+        android:id="@+id/car_ui_toolbar_nav_icon_container"
         android:layout_width="0dp"
         android:layout_height="0dp"
         android:background="?android:attr/selectableItemBackground"
-        app:layout_constraintTop_toTopOf="@id/toolbar_top_guideline"
-        app:layout_constraintBottom_toTopOf="@id/row_separator"
-        app:layout_constraintStart_toStartOf="@id/toolbar_start_guideline"
-        app:layout_constraintEnd_toStartOf="@id/toolbar_start_margin_guideline">
+        app:layout_constraintTop_toTopOf="@id/car_ui_toolbar_top_guideline"
+        app:layout_constraintBottom_toTopOf="@id/car_ui_toolbar_row_separator"
+        app:layout_constraintStart_toStartOf="@id/car_ui_toolbar_start_guideline"
+        app:layout_constraintEnd_toStartOf="@id/car_ui_toolbar_start_margin_guideline">
         <ImageView
-            android:id="@+id/nav_icon"
+            android:id="@+id/car_ui_toolbar_nav_icon"
             android:layout_width="@dimen/car_ui_toolbar_icon_size"
             android:layout_height="@dimen/car_ui_toolbar_icon_size"
             android:layout_gravity="center"
             android:scaleType="fitXY"
             style="@style/Widget.CarUi.Toolbar.NavIcon"/>
         <ImageView
-            android:id="@+id/logo"
+            android:id="@+id/car_ui_toolbar_logo"
             android:layout_width="@dimen/car_ui_toolbar_icon_size"
             android:layout_height="@dimen/car_ui_toolbar_icon_size"
             android:layout_gravity="center"
@@ -107,46 +107,46 @@
     </FrameLayout>
 
     <TextView
-        android:id="@+id/title"
+        android:id="@+id/car_ui_toolbar_title"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_marginStart="@dimen/car_ui_toolbar_title_margin_start"
         android:singleLine="true"
         style="@style/TextAppearance.CarUi.Widget.Toolbar.Title"
-        app:layout_constraintTop_toTopOf="@id/toolbar_top_guideline"
-        app:layout_constraintBottom_toTopOf="@id/row_separator"
-        app:layout_constraintStart_toEndOf="@id/toolbar_start_margin_guideline"
-        app:layout_constraintEnd_toStartOf="@id/menu_items_container"/>
+        app:layout_constraintTop_toTopOf="@id/car_ui_toolbar_top_guideline"
+        app:layout_constraintBottom_toTopOf="@id/car_ui_toolbar_row_separator"
+        app:layout_constraintStart_toEndOf="@id/car_ui_toolbar_start_margin_guideline"
+        app:layout_constraintEnd_toStartOf="@id/car_ui_toolbar_menu_items_container"/>
 
     <com.android.car.ui.toolbar.SearchView
-        android:id="@+id/search_view"
+        android:id="@+id/car_ui_toolbar_search_view"
         android:layout_width="0dp"
         android:layout_height="match_parent"
         android:visibility="gone"
-        app:layout_constraintTop_toTopOf="@id/toolbar_top_guideline"
-        app:layout_constraintBottom_toTopOf="@id/row_separator"
-        app:layout_constraintStart_toEndOf="@id/nav_icon_container"
-        app:layout_constraintEnd_toStartOf="@id/menu_items_container"/>
+        app:layout_constraintTop_toTopOf="@id/car_ui_toolbar_top_guideline"
+        app:layout_constraintBottom_toTopOf="@id/car_ui_toolbar_row_separator"
+        app:layout_constraintStart_toEndOf="@id/car_ui_toolbar_nav_icon_container"
+        app:layout_constraintEnd_toStartOf="@id/car_ui_toolbar_menu_items_container"/>
 
     <FrameLayout
-        android:id="@+id/custom_view_container"
+        android:id="@+id/car_ui_toolbar_custom_view_container"
         android:layout_width="0dp"
         android:layout_height="0dp"
         android:visibility="gone"
-        app:layout_constraintTop_toTopOf="@id/toolbar_top_guideline"
-        app:layout_constraintBottom_toTopOf="@id/row_separator"
-        app:layout_constraintStart_toEndOf="@id/nav_icon_container"
-        app:layout_constraintEnd_toStartOf="@id/menu_items_container"/>
+        app:layout_constraintTop_toTopOf="@id/car_ui_toolbar_top_guideline"
+        app:layout_constraintBottom_toTopOf="@id/car_ui_toolbar_row_separator"
+        app:layout_constraintStart_toEndOf="@id/car_ui_toolbar_nav_icon_container"
+        app:layout_constraintEnd_toStartOf="@id/car_ui_toolbar_menu_items_container"/>
 
     <LinearLayout
-        android:id="@+id/menu_items_container"
+        android:id="@+id/car_ui_toolbar_menu_items_container"
         android:layout_width="wrap_content"
         android:layout_height="0dp"
         android:orientation="horizontal"
         android:divider="@drawable/car_ui_toolbar_menu_item_divider"
         android:showDividers="beginning|middle|end"
-        app:layout_constraintTop_toTopOf="@id/toolbar_top_guideline"
-        app:layout_constraintBottom_toTopOf="@id/row_separator"
+        app:layout_constraintTop_toTopOf="@id/car_ui_toolbar_top_guideline"
+        app:layout_constraintBottom_toTopOf="@id/car_ui_toolbar_row_separator"
         app:layout_constraintEnd_toStartOf="@id/car_ui_toolbar_overflow_button"/>
 
     <FrameLayout
@@ -156,9 +156,9 @@
         android:layout_marginLeft="@dimen/car_ui_toolbar_menu_item_margin"
         android:layout_marginRight="@dimen/car_ui_toolbar_menu_item_margin"
         android:visibility="gone"
-        app:layout_constraintTop_toTopOf="@id/toolbar_top_guideline"
-        app:layout_constraintBottom_toTopOf="@id/row_separator"
-        app:layout_constraintEnd_toEndOf="@id/toolbar_end_guideline">
+        app:layout_constraintTop_toTopOf="@id/car_ui_toolbar_top_guideline"
+        app:layout_constraintBottom_toTopOf="@id/car_ui_toolbar_row_separator"
+        app:layout_constraintEnd_toEndOf="@id/car_ui_toolbar_end_guideline">
         <ImageView
             android:src="@drawable/car_ui_icon_overflow_menu"
             android:layout_width="@dimen/car_ui_primary_icon_size"
@@ -170,15 +170,15 @@
     </FrameLayout>
 
     <com.android.car.ui.toolbar.TabLayout
-        android:id="@+id/tabs"
+        android:id="@+id/car_ui_toolbar_tabs"
         android:layout_width="match_parent"
         android:layout_height="@dimen/car_ui_toolbar_second_row_height"
-        app:layout_constraintTop_toBottomOf="@id/row_separator"
-        app:layout_constraintBottom_toTopOf="@id/toolbar_bottom_guideline"/>
+        app:layout_constraintTop_toBottomOf="@id/car_ui_toolbar_row_separator"
+        app:layout_constraintBottom_toTopOf="@id/car_ui_toolbar_bottom_guideline"/>
 
     <!-- can't use 0dp for layout_height or the constraintlayout effect kicks in -->
     <View
-        android:id="@+id/bottom_styleable"
+        android:id="@+id/car_ui_toolbar_bottom_styleable"
         android:layout_width="match_parent"
         android:layout_height="0.01dp"
         style="@style/Widget.CarUi.Toolbar.BottomView"
diff --git a/car-ui-lib/res/layout/car_ui_toolbar.xml b/car-ui-lib/res/layout/car_ui_toolbar.xml
index 870424c..c43a606 100644
--- a/car-ui-lib/res/layout/car_ui_toolbar.xml
+++ b/car-ui-lib/res/layout/car_ui_toolbar.xml
@@ -33,59 +33,59 @@
     <androidx.constraintlayout.widget.Guideline
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:id="@+id/toolbar_start_guideline"
+        android:id="@+id/car_ui_toolbar_start_guideline"
         app:layout_constraintGuide_begin="@dimen/car_ui_toolbar_start_inset"
         android:orientation="vertical"/>
 
     <androidx.constraintlayout.widget.Guideline
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:id="@+id/toolbar_top_guideline"
+        android:id="@+id/car_ui_toolbar_top_guideline"
         app:layout_constraintGuide_begin="@dimen/car_ui_toolbar_top_inset"
         android:orientation="horizontal"/>
 
     <androidx.constraintlayout.widget.Guideline
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:id="@+id/toolbar_end_guideline"
+        android:id="@+id/car_ui_toolbar_end_guideline"
         app:layout_constraintGuide_end="@dimen/car_ui_toolbar_end_inset"
         android:orientation="vertical"/>
 
     <androidx.constraintlayout.widget.Guideline
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:id="@+id/toolbar_bottom_guideline"
+        android:id="@+id/car_ui_toolbar_bottom_guideline"
         app:layout_constraintGuide_end="@dimen/car_ui_toolbar_bottom_inset"
         android:orientation="horizontal"/>
 
     <androidx.constraintlayout.widget.Guideline
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:id="@+id/toolbar_start_margin_guideline"
+        android:id="@+id/car_ui_toolbar_start_margin_guideline"
         app:layout_constraintGuide_begin="@dimen/car_ui_toolbar_margin"
         android:orientation="vertical"/>
 
     <!-- The horizontal bias here is so that when you set this view as GONE, it will be
          treated as if it's all the way to the left instead of centered in the margin -->
     <FrameLayout
-        android:id="@+id/nav_icon_container"
+        android:id="@+id/car_ui_toolbar_nav_icon_container"
         android:layout_width="0dp"
         android:layout_height="0dp"
         android:background="?android:attr/selectableItemBackground"
-        app:layout_constraintTop_toTopOf="@id/toolbar_top_guideline"
-        app:layout_constraintBottom_toTopOf="@id/toolbar_bottom_guideline"
-        app:layout_constraintStart_toEndOf="@id/toolbar_start_guideline"
-        app:layout_constraintEnd_toStartOf="@id/toolbar_start_margin_guideline"
+        app:layout_constraintTop_toTopOf="@id/car_ui_toolbar_top_guideline"
+        app:layout_constraintBottom_toTopOf="@id/car_ui_toolbar_bottom_guideline"
+        app:layout_constraintStart_toEndOf="@id/car_ui_toolbar_start_guideline"
+        app:layout_constraintEnd_toStartOf="@id/car_ui_toolbar_start_margin_guideline"
         app:layout_constraintHorizontal_bias="0.0">
         <ImageView
-            android:id="@+id/nav_icon"
+            android:id="@+id/car_ui_toolbar_nav_icon"
             android:layout_width="@dimen/car_ui_toolbar_icon_size"
             android:layout_height="@dimen/car_ui_toolbar_icon_size"
             android:layout_gravity="center"
             android:scaleType="fitXY"
             style="@style/Widget.CarUi.Toolbar.NavIcon"/>
         <ImageView
-            android:id="@+id/logo"
+            android:id="@+id/car_ui_toolbar_logo"
             android:layout_width="@dimen/car_ui_toolbar_icon_size"
             android:layout_height="@dimen/car_ui_toolbar_icon_size"
             android:layout_gravity="center"
@@ -93,46 +93,46 @@
     </FrameLayout>
 
     <TextView
-        android:id="@+id/title"
+        android:id="@+id/car_ui_toolbar_title"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_marginStart="@dimen/car_ui_toolbar_title_margin_start"
         android:singleLine="true"
         style="@style/TextAppearance.CarUi.Widget.Toolbar.Title"
-        app:layout_constraintTop_toTopOf="@id/toolbar_top_guideline"
-        app:layout_constraintBottom_toTopOf="@id/toolbar_bottom_guideline"
-        app:layout_constraintStart_toEndOf="@+id/toolbar_start_margin_guideline"
-        app:layout_constraintEnd_toStartOf="@+id/menu_items_container"/>
+        app:layout_constraintTop_toTopOf="@id/car_ui_toolbar_top_guideline"
+        app:layout_constraintBottom_toTopOf="@id/car_ui_toolbar_bottom_guideline"
+        app:layout_constraintStart_toEndOf="@+id/car_ui_toolbar_start_margin_guideline"
+        app:layout_constraintEnd_toStartOf="@+id/car_ui_toolbar_menu_items_container"/>
 
     <com.android.car.ui.toolbar.TabLayout
-        android:id="@+id/tabs"
+        android:id="@+id/car_ui_toolbar_tabs"
         android:layout_width="wrap_content"
         android:layout_height="0dp"
-        app:layout_constraintTop_toTopOf="@id/toolbar_top_guideline"
-        app:layout_constraintBottom_toTopOf="@id/toolbar_bottom_guideline"
-        app:layout_constraintStart_toEndOf="@+id/nav_icon_container"
-        app:layout_constraintEnd_toStartOf="@+id/menu_items_container"
+        app:layout_constraintTop_toTopOf="@id/car_ui_toolbar_top_guideline"
+        app:layout_constraintBottom_toTopOf="@id/car_ui_toolbar_bottom_guideline"
+        app:layout_constraintStart_toEndOf="@+id/car_ui_toolbar_nav_icon_container"
+        app:layout_constraintEnd_toStartOf="@+id/car_ui_toolbar_menu_items_container"
         app:layout_constraintHorizontal_bias="0.0"/>
 
     <FrameLayout
-        android:id="@+id/custom_view_container"
+        android:id="@+id/car_ui_toolbar_custom_view_container"
         android:layout_width="0dp"
         android:layout_height="0dp"
         android:visibility="gone"
-        app:layout_constraintTop_toTopOf="@id/toolbar_top_guideline"
-        app:layout_constraintBottom_toTopOf="@id/toolbar_bottom_guideline"
-        app:layout_constraintStart_toEndOf="@+id/nav_icon_container"
-        app:layout_constraintEnd_toStartOf="@+id/menu_items_container"/>
+        app:layout_constraintTop_toTopOf="@id/car_ui_toolbar_top_guideline"
+        app:layout_constraintBottom_toTopOf="@id/car_ui_toolbar_bottom_guideline"
+        app:layout_constraintStart_toEndOf="@+id/car_ui_toolbar_nav_icon_container"
+        app:layout_constraintEnd_toStartOf="@+id/car_ui_toolbar_menu_items_container"/>
 
     <LinearLayout
-        android:id="@+id/menu_items_container"
+        android:id="@+id/car_ui_toolbar_menu_items_container"
         android:layout_width="wrap_content"
         android:layout_height="0dp"
         android:orientation="horizontal"
         android:divider="@drawable/car_ui_toolbar_menu_item_divider"
         android:showDividers="beginning|middle|end"
-        app:layout_constraintTop_toTopOf="@id/toolbar_top_guideline"
-        app:layout_constraintBottom_toTopOf="@id/toolbar_bottom_guideline"
+        app:layout_constraintTop_toTopOf="@id/car_ui_toolbar_top_guideline"
+        app:layout_constraintBottom_toTopOf="@id/car_ui_toolbar_bottom_guideline"
         app:layout_constraintEnd_toStartOf="@+id/car_ui_toolbar_overflow_button"/>
 
     <FrameLayout
@@ -142,9 +142,9 @@
         android:layout_marginLeft="@dimen/car_ui_toolbar_menu_item_margin"
         android:layout_marginRight="@dimen/car_ui_toolbar_menu_item_margin"
         android:visibility="gone"
-        app:layout_constraintTop_toTopOf="@id/toolbar_top_guideline"
-        app:layout_constraintBottom_toTopOf="@id/toolbar_bottom_guideline"
-        app:layout_constraintEnd_toEndOf="@id/toolbar_end_guideline">
+        app:layout_constraintTop_toTopOf="@id/car_ui_toolbar_top_guideline"
+        app:layout_constraintBottom_toTopOf="@id/car_ui_toolbar_bottom_guideline"
+        app:layout_constraintEnd_toEndOf="@id/car_ui_toolbar_end_guideline">
         <ImageView
             android:src="@drawable/car_ui_icon_overflow_menu"
             android:layout_width="@dimen/car_ui_primary_icon_size"
@@ -156,32 +156,32 @@
     </FrameLayout>
 
     <com.android.car.ui.toolbar.SearchView
-        android:id="@+id/search_view"
+        android:id="@+id/car_ui_toolbar_search_view"
         android:layout_width="0dp"
         android:layout_height="match_parent"
         android:visibility="gone"
-        app:layout_constraintTop_toTopOf="@id/toolbar_top_guideline"
-        app:layout_constraintBottom_toTopOf="@id/toolbar_bottom_guideline"
-        app:layout_constraintStart_toEndOf="@+id/nav_icon_container"
-        app:layout_constraintEnd_toStartOf="@+id/menu_items_container"/>
+        app:layout_constraintTop_toTopOf="@id/car_ui_toolbar_top_guideline"
+        app:layout_constraintBottom_toTopOf="@id/car_ui_toolbar_bottom_guideline"
+        app:layout_constraintStart_toEndOf="@+id/car_ui_toolbar_nav_icon_container"
+        app:layout_constraintEnd_toStartOf="@+id/car_ui_toolbar_menu_items_container"/>
 
     <!-- can't use 0dp for layout_height or the constraintlayout effect kicks in -->
     <View
-        android:id="@+id/row_separator"
+        android:id="@+id/car_ui_toolbar_row_separator"
         android:layout_width="match_parent"
         android:layout_height="0.01dp"
         style="@style/Widget.CarUi.Toolbar.SeparatorView"
-        app:layout_constraintTop_toBottomOf="@id/toolbar_top_guideline"
+        app:layout_constraintTop_toBottomOf="@id/car_ui_toolbar_bottom_guideline"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toEndOf="parent"/>
 
     <!-- can't use 0dp for layout_height or the constraintlayout effect kicks in -->
     <View
-        android:id="@+id/bottom_styleable"
+        android:id="@+id/car_ui_toolbar_bottom_styleable"
         android:layout_width="match_parent"
         android:layout_height="0.01dp"
         style="@style/Widget.CarUi.Toolbar.BottomView"
-        app:layout_constraintTop_toBottomOf="@+id/row_separator"
+        app:layout_constraintTop_toBottomOf="@+id/car_ui_toolbar_row_separator"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toEndOf="parent"/>
 </androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/car-ui-lib/res/layout/car_ui_search_view.xml b/car-ui-lib/res/layout/car_ui_toolbar_search_view.xml
similarity index 94%
rename from car-ui-lib/res/layout/car_ui_search_view.xml
rename to car-ui-lib/res/layout/car_ui_toolbar_search_view.xml
index 6878d6a..333d187 100644
--- a/car-ui-lib/res/layout/car_ui_search_view.xml
+++ b/car-ui-lib/res/layout/car_ui_toolbar_search_view.xml
@@ -20,7 +20,7 @@
     xmlns:app="http://schemas.android.com/apk/res-auto">
 
     <EditText
-        android:id="@+id/search_bar"
+        android:id="@+id/car_ui_toolbar_search_bar"
         android:layout_height="match_parent"
         android:layout_width="match_parent"
         android:paddingStart="@dimen/car_ui_touch_target_width"
@@ -43,7 +43,7 @@
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintStart_toStartOf="parent">
         <ImageView
-            android:id="@+id/icon"
+            android:id="@+id/car_ui_toolbar_search_icon"
             android:layout_width="@dimen/car_ui_primary_icon_size"
             android:layout_height="@dimen/car_ui_primary_icon_size"
             android:layout_gravity="center"
@@ -52,7 +52,7 @@
     </FrameLayout>
 
     <FrameLayout
-        android:id="@+id/search_close"
+        android:id="@+id/car_ui_toolbar_search_close"
         android:layout_width="@dimen/car_ui_touch_target_width"
         android:layout_height="@dimen/car_ui_touch_target_height"
         app:layout_constraintTop_toTopOf="parent"
diff --git a/car-ui-lib/res/layout/car_ui_tab_item.xml b/car-ui-lib/res/layout/car_ui_toolbar_tab_item.xml
similarity index 73%
rename from car-ui-lib/res/layout/car_ui_tab_item.xml
rename to car-ui-lib/res/layout/car_ui_toolbar_tab_item.xml
index b387ae3..91a010d 100644
--- a/car-ui-lib/res/layout/car_ui_tab_item.xml
+++ b/car-ui-lib/res/layout/car_ui_toolbar_tab_item.xml
@@ -18,15 +18,15 @@
 <merge
     xmlns:android="http://schemas.android.com/apk/res/android">
     <ImageView
-        android:id="@+id/car_ui_tab_item_icon"
-        android:layout_width="@dimen/car_ui_tab_icon_width"
-        android:layout_height="@dimen/car_ui_tab_icon_height"
+        android:id="@+id/car_ui_toolbar_tab_item_icon"
+        android:layout_width="@dimen/car_ui_toolbar_tab_icon_width"
+        android:layout_height="@dimen/car_ui_toolbar_tab_icon_height"
         android:scaleType="fitCenter"
-        android:tint="@color/car_ui_tab_item_selector"
+        android:tint="@color/car_ui_toolbar_tab_item_selector"
         android:tintMode="src_in"/>
     <TextView
-        android:id="@+id/car_ui_tab_item_text"
-        android:layout_width="@dimen/car_ui_tab_text_width"
+        android:id="@+id/car_ui_toolbar_tab_item_text"
+        android:layout_width="@dimen/car_ui_toolbar_tab_text_width"
         android:layout_height="wrap_content"
         android:singleLine="true"
         android:gravity="center"
diff --git a/car-ui-lib/res/values/colors.xml b/car-ui-lib/res/values/colors.xml
index 8a70ba6..73dcb97 100644
--- a/car-ui-lib/res/values/colors.xml
+++ b/car-ui-lib/res/values/colors.xml
@@ -25,17 +25,10 @@
     <!-- The ripple color. -->
     <color name="car_ui_ripple_color">#27ffffff</color>
 
-    <!-- Tabs -->
-
-    <!-- Selected colors -->
-    <color name="car_ui_tab_selected_color">@color/car_ui_primary_text_color</color>
-    <!-- Normal colors -->
-    <color name="car_ui_tab_unselected_color">@color/car_ui_secondary_text_color</color>
-
     <!-- Toolbar -->
 
     <!-- Color used on the navigation icon -->
-    <color name="car_ui_nav_icon_color">@color/car_ui_primary_text_color</color>
+    <color name="car_ui_toolbar_nav_icon_color">@color/car_ui_primary_text_color</color>
     <!-- Text color applied to the hint displayed inside the search box -->
     <color name="car_ui_toolbar_search_hint_text_color">#33FFFFFF</color>
     <!-- Menu item colors -->
@@ -48,6 +41,10 @@
     <color name="car_ui_toolbar_menu_item_icon_background_disabled_color">@color/car_ui_toolbar_menu_item_icon_disabled_color</color>
     <color name="car_ui_toolbar_menu_item_icon_background_restricted_color">@color/car_ui_toolbar_menu_item_icon_restricted_color</color>
     <color name="car_ui_toolbar_menu_item_icon_background_activated_color">@color/car_ui_primary_text_color</color>
+    <!-- Tab selected color -->
+    <color name="car_ui_toolbar_tab_selected_color">@color/car_ui_primary_text_color</color>
+    <!-- Tab normal color -->
+    <color name="car_ui_toolbar_tab_unselected_color">@color/car_ui_secondary_text_color</color>
 
     <!-- Recycler View  -->
 
diff --git a/car-ui-lib/res/values/dimens.xml b/car-ui-lib/res/values/dimens.xml
index 5e7d7e6..72206d1 100644
--- a/car-ui-lib/res/values/dimens.xml
+++ b/car-ui-lib/res/values/dimens.xml
@@ -37,13 +37,13 @@
     <!-- Tabs -->
 
     <!-- Exact size of the tab textbox. Use @dimen/wrap_content if this must be flexible -->
-    <dimen name="car_ui_tab_text_width">135dp</dimen>
+    <dimen name="car_ui_toolbar_tab_text_width">135dp</dimen>
     <!-- Horizontal padding between tabs -->
-    <dimen name="car_ui_tab_padding_x">12dp</dimen>
+    <dimen name="car_ui_toolbar_tab_padding_x">12dp</dimen>
     <!-- Tab icon width (if icons are enabled) -->
-    <dimen name="car_ui_tab_icon_width">36dp</dimen>
+    <dimen name="car_ui_toolbar_tab_icon_width">36dp</dimen>
     <!-- Tab icon height (if icons are enabled) -->
-    <dimen name="car_ui_tab_icon_height">36dp</dimen>
+    <dimen name="car_ui_toolbar_tab_icon_height">36dp</dimen>
 
     <!-- Toolbar -->
     <dimen name="car_ui_toolbar_row_height">96dp</dimen>
diff --git a/car-ui-lib/res/values/styles.xml b/car-ui-lib/res/values/styles.xml
index 0a5bf88..76dbce2 100644
--- a/car-ui-lib/res/values/styles.xml
+++ b/car-ui-lib/res/values/styles.xml
@@ -25,7 +25,7 @@
     <style name="Widget.CarUi.Toolbar"/>
 
     <style name="Widget.CarUi.Toolbar.NavIcon">
-        <item name="android:tint">@color/car_ui_nav_icon_color</item>
+        <item name="android:tint">@color/car_ui_toolbar_nav_icon_color</item>
         <item name="android:src">@drawable/car_ui_icon_arrow_back</item>
     </style>
 
@@ -165,7 +165,7 @@
     <style name="TextAppearance.CarUi.Widget.Toolbar.Tab">
         <item name="android:textSize">24sp</item>
         <item name="android:letterSpacing">@dimen/car_ui_letter_spacing_body3</item>
-        <item name="android:textColor">@color/car_ui_tab_item_selector</item>
+        <item name="android:textColor">@color/car_ui_toolbar_tab_item_selector</item>
     </style>
 
 </resources>
diff --git a/car-ui-lib/res/values/values.xml b/car-ui-lib/res/values/values.xml
index 2eb4d70..cca83de 100644
--- a/car-ui-lib/res/values/values.xml
+++ b/car-ui-lib/res/values/values.xml
@@ -19,9 +19,9 @@
     <!-- Toolbar -->
 
     <!-- Whether tabs should use flex layout or not -->
-    <bool name="car_ui_tab_flexible_layout">false</bool>
+    <bool name="car_ui_toolbar_tab_flexible_layout">false</bool>
     <!-- Layout to be used for toolbar tabs -->
-    <item name="car_ui_tab_item_layout" type="layout">@layout/car_ui_tab_item</item>
+    <item name="car_ui_toolbar_tab_item_layout" type="layout">@layout/car_ui_toolbar_tab_item</item>
 
     <!-- Preferences -->
 
diff --git a/car-ui-lib/src/com/android/car/ui/toolbar/SearchView.java b/car-ui-lib/src/com/android/car/ui/toolbar/SearchView.java
index 35898db..a62c0df 100644
--- a/car-ui-lib/src/com/android/car/ui/toolbar/SearchView.java
+++ b/car-ui-lib/src/com/android/car/ui/toolbar/SearchView.java
@@ -71,11 +71,11 @@
         super(context, attrs, defStyleAttr);
 
         LayoutInflater inflater = LayoutInflater.from(context);
-        inflater.inflate(R.layout.car_ui_search_view, this, true);
+        inflater.inflate(R.layout.car_ui_toolbar_search_view, this, true);
 
-        mSearchText = requireViewById(R.id.search_bar);
-        mIcon = requireViewById(R.id.icon);
-        mCloseIcon = requireViewById(R.id.search_close);
+        mSearchText = requireViewById(R.id.car_ui_toolbar_search_bar);
+        mIcon = requireViewById(R.id.car_ui_toolbar_search_icon);
+        mCloseIcon = requireViewById(R.id.car_ui_toolbar_search_close);
         mCloseIcon.setOnClickListener(view -> mSearchText.getText().clear());
 
         mSearchText.setOnFocusChangeListener(
diff --git a/car-ui-lib/src/com/android/car/ui/toolbar/TabLayout.java b/car-ui-lib/src/com/android/car/ui/toolbar/TabLayout.java
index 066da0f..c24b773 100644
--- a/car-ui-lib/src/com/android/car/ui/toolbar/TabLayout.java
+++ b/car-ui-lib/src/com/android/car/ui/toolbar/TabLayout.java
@@ -16,6 +16,7 @@
 package com.android.car.ui.toolbar;
 
 import android.content.Context;
+import android.content.res.Resources;
 import android.graphics.Typeface;
 import android.graphics.drawable.Drawable;
 import android.util.ArraySet;
@@ -80,7 +81,7 @@
     private final boolean mTabFlexibleLayout;
     private final int mTabPaddingX;
 
-    private final Set<Listener> mListeners;
+    private final Set<Listener> mListeners = new ArraySet<>();
 
     private final TabAdapter mTabAdapter;
 
@@ -94,12 +95,12 @@
 
     public TabLayout(@NonNull Context context, @Nullable AttributeSet attrs, int defStyle) {
         super(context, attrs, defStyle);
-        mListeners = new ArraySet<>();
+        Resources resources = context.getResources();
 
-        mTabPaddingX = context.getResources().getDimensionPixelSize(R.dimen.car_ui_tab_padding_x);
-        mTabFlexibleLayout = context.getResources().getBoolean(R.bool.car_ui_tab_flexible_layout);
+        mTabPaddingX = resources.getDimensionPixelSize(R.dimen.car_ui_toolbar_tab_padding_x);
+        mTabFlexibleLayout = resources.getBoolean(R.bool.car_ui_toolbar_tab_flexible_layout);
 
-        mTabAdapter = new TabAdapter(context, R.layout.car_ui_tab_item_layout, this);
+        mTabAdapter = new TabAdapter(context, R.layout.car_ui_toolbar_tab_item_layout, this);
     }
 
     /**
@@ -289,8 +290,8 @@
         private void presentTabItemView(int position, @NonNull View tabItemView) {
             Tab tab = mTabList.get(position);
 
-            ImageView iconView = tabItemView.findViewById(R.id.car_ui_tab_item_icon);
-            TextView textView = tabItemView.findViewById(R.id.car_ui_tab_item_text);
+            ImageView iconView = tabItemView.findViewById(R.id.car_ui_toolbar_tab_item_icon);
+            TextView textView = tabItemView.findViewById(R.id.car_ui_toolbar_tab_item_text);
 
             tabItemView.setOnClickListener(view -> selectTab(tab));
             tab.bindText(textView);
diff --git a/car-ui-lib/src/com/android/car/ui/toolbar/Toolbar.java b/car-ui-lib/src/com/android/car/ui/toolbar/Toolbar.java
index a028dcc..95da690 100644
--- a/car-ui-lib/src/com/android/car/ui/toolbar/Toolbar.java
+++ b/car-ui-lib/src/com/android/car/ui/toolbar/Toolbar.java
@@ -165,14 +165,14 @@
                 .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
         inflater.inflate(getToolbarLayout(), this, true);
 
-        mTabLayout = requireViewById(R.id.tabs);
-        mNavIcon = requireViewById(R.id.nav_icon);
-        mLogo = requireViewById(R.id.logo);
-        mNavIconContainer = requireViewById(R.id.nav_icon_container);
-        mMenuItemsContainer = requireViewById(R.id.menu_items_container);
-        mTitle = requireViewById(R.id.title);
-        mSearchView = requireViewById(R.id.search_view);
-        mCustomViewContainer = requireViewById(R.id.custom_view_container);
+        mTabLayout = requireViewById(R.id.car_ui_toolbar_tabs);
+        mNavIcon = requireViewById(R.id.car_ui_toolbar_nav_icon);
+        mLogo = requireViewById(R.id.car_ui_toolbar_logo);
+        mNavIconContainer = requireViewById(R.id.car_ui_toolbar_nav_icon_container);
+        mMenuItemsContainer = requireViewById(R.id.car_ui_toolbar_menu_items_container);
+        mTitle = requireViewById(R.id.car_ui_toolbar_title);
+        mSearchView = requireViewById(R.id.car_ui_toolbar_search_view);
+        mCustomViewContainer = requireViewById(R.id.car_ui_toolbar_custom_view_container);
         mOverflowButton = requireViewById(R.id.car_ui_toolbar_overflow_button);
 
         TypedArray a = context.obtainStyledAttributes(
diff --git a/car-ui-lib/tests/robotests/src/com/android/car/ui/toolbar/ToolbarTest.java b/car-ui-lib/tests/robotests/src/com/android/car/ui/toolbar/ToolbarTest.java
index dacefa2..1a415c2 100644
--- a/car-ui-lib/tests/robotests/src/com/android/car/ui/toolbar/ToolbarTest.java
+++ b/car-ui-lib/tests/robotests/src/com/android/car/ui/toolbar/ToolbarTest.java
@@ -113,7 +113,7 @@
         mToolbar.setState(Toolbar.State.HOME);
         mToolbar.setLogo(R.drawable.test_ic_launcher);
 
-        assertThat(mToolbar.findViewById(R.id.logo).isShown()).isTrue();
+        assertThat(mToolbar.findViewById(R.id.car_ui_toolbar_logo).isShown()).isTrue();
     }
 
     @Test
@@ -121,7 +121,7 @@
         mToolbar.setState(Toolbar.State.SUBPAGE);
         mToolbar.setLogo(R.drawable.test_ic_launcher);
 
-        assertThat(mToolbar.findViewById(R.id.logo).isShown()).isFalse();
+        assertThat(mToolbar.findViewById(R.id.car_ui_toolbar_logo).isShown()).isFalse();
     }
 
     @Test
@@ -129,7 +129,7 @@
         mToolbar.setState(Toolbar.State.HOME);
         mToolbar.setLogo(0);
 
-        assertThat(mToolbar.findViewById(R.id.logo).isShown()).isFalse();
+        assertThat(mToolbar.findViewById(R.id.car_ui_toolbar_logo).isShown()).isFalse();
     }
 
     @Test
@@ -137,7 +137,7 @@
         mToolbar.setState(Toolbar.State.SUBPAGE);
         mToolbar.setLogo(0);
 
-        assertThat(mToolbar.findViewById(R.id.logo).isShown()).isFalse();
+        assertThat(mToolbar.findViewById(R.id.car_ui_toolbar_logo).isShown()).isFalse();
     }
 
     @Test
@@ -203,8 +203,7 @@
 
     @Test
     public void menuItems_whenClicked_shouldCallListener() {
-        assertThat(((ViewGroup) mToolbar.findViewById(R.id.menu_items_container)).getChildCount())
-                .isEqualTo(0);
+        assertThat(getMenuItemViewCount()).isEqualTo(0);
 
         Mutable<Boolean> button1Clicked = new Mutable<>(false);
         Mutable<Boolean> button2Clicked = new Mutable<>(false);
@@ -212,16 +211,13 @@
                 createMenuItem(i -> button1Clicked.value = true),
                 createMenuItem(i -> button2Clicked.value = true)));
 
-        assertThat(((ViewGroup) mToolbar.findViewById(R.id.menu_items_container)).getChildCount())
-                .isEqualTo(2);
+        assertThat(getMenuItemViewCount()).isEqualTo(2);
 
-        ((ViewGroup) mToolbar.findViewById(R.id.menu_items_container))
-                .getChildAt(0).performClick();
+        getMenuItemView(0).performClick();
 
         assertThat(button1Clicked.value).isTrue();
 
-        ((ViewGroup) mToolbar.findViewById(R.id.menu_items_container))
-                .getChildAt(1).performClick();
+        getMenuItemView(1).performClick();
 
         assertThat(button2Clicked.value).isTrue();
     }
@@ -232,13 +228,11 @@
                 createMenuItem(i -> { }),
                 createMenuItem(i -> { })));
 
-        assertThat(((ViewGroup) mToolbar.findViewById(R.id.menu_items_container)).getChildCount())
-                .isEqualTo(2);
+        assertThat(getMenuItemViewCount()).isEqualTo(2);
 
         mToolbar.setMenuItems(null);
 
-        assertThat(((ViewGroup) mToolbar.findViewById(R.id.menu_items_container)).getChildCount())
-                .isEqualTo(0);
+        assertThat(getMenuItemViewCount()).isEqualTo(0);
     }
 
     @Test
@@ -246,10 +240,7 @@
         MenuItem item = createMenuItem(i -> { });
         mToolbar.setMenuItems(Collections.singletonList(item));
 
-        View itemView = ((ViewGroup) mToolbar.findViewById(R.id.menu_items_container))
-                .getChildAt(0);
-
-        assertThat(itemView.isShown()).isTrue();
+        assertThat(getMenuItemView(0).isShown()).isTrue();
     }
 
     @Test
@@ -257,11 +248,8 @@
         MenuItem item = createMenuItem(i -> { });
         mToolbar.setMenuItems(Collections.singletonList(item));
 
-        View itemView = ((ViewGroup) mToolbar.findViewById(R.id.menu_items_container))
-                .getChildAt(0);
-
         item.setVisible(false);
-        assertThat(itemView.isShown()).isFalse();
+        assertThat(getMenuItemView(0).isShown()).isFalse();
     }
 
     @Test
@@ -269,12 +257,9 @@
         MenuItem item = createMenuItem(i -> { });
         mToolbar.setMenuItems(Collections.singletonList(item));
 
-        View itemView = ((ViewGroup) mToolbar.findViewById(R.id.menu_items_container))
-                .getChildAt(0);
-
         item.setVisible(false);
         item.setVisible(true);
-        assertThat(itemView.isShown()).isTrue();
+        assertThat(getMenuItemView(0).isShown()).isTrue();
     }
 
     @Test
@@ -284,16 +269,13 @@
                 createMenuItem(i -> { }));
         mToolbar.setMenuItems(menuItems);
 
-        assertThat(((ViewGroup) mToolbar.findViewById(R.id.menu_items_container)).getChildCount())
-                .isEqualTo(2);
+        assertThat(getMenuItemViewCount()).isEqualTo(2);
 
-        View firstMenuItemView = ((ViewGroup) mToolbar.findViewById(R.id.menu_items_container))
-                .getChildAt(0);
+        View firstMenuItemView = getMenuItemView(0);
 
         mToolbar.setMenuItems(menuItems);
 
-        assertThat(firstMenuItemView).isSameAs(((ViewGroup) mToolbar
-                .findViewById(R.id.menu_items_container)).getChildAt(0));
+        assertThat(firstMenuItemView).isSameAs(getMenuItemView(0));
     }
 
     @Test
@@ -305,10 +287,8 @@
         mToolbar.setShowMenuItemsWhileSearching(false);
         mToolbar.setState(Toolbar.State.SEARCH);
 
-        assertThat(((ViewGroup) mToolbar.findViewById(R.id.menu_items_container))
-                .getChildAt(0).isShown()).isFalse();
-        assertThat(((ViewGroup) mToolbar.findViewById(R.id.menu_items_container))
-                .getChildAt(1).isShown()).isFalse();
+        assertThat(getMenuItemView(0).isShown()).isFalse();
+        assertThat(getMenuItemView(1).isShown()).isFalse();
     }
 
     @Test
@@ -320,10 +300,8 @@
         mToolbar.setShowMenuItemsWhileSearching(true);
         mToolbar.setState(Toolbar.State.SEARCH);
 
-        assertThat(((ViewGroup) mToolbar.findViewById(R.id.menu_items_container))
-                .getChildAt(0).isShown()).isFalse();
-        assertThat(((ViewGroup) mToolbar.findViewById(R.id.menu_items_container))
-                .getChildAt(1).isShown()).isTrue();
+        assertThat(getMenuItemView(0).isShown()).isFalse();
+        assertThat(getMenuItemView(1).isShown()).isTrue();
     }
 
     private MenuItem createMenuItem(MenuItem.OnClickListener listener) {
@@ -333,8 +311,20 @@
                 .build();
     }
 
+    private int getMenuItemViewCount() {
+        return ((ViewGroup) mToolbar
+                .findViewById(R.id.car_ui_toolbar_menu_items_container))
+                .getChildCount();
+    }
+
+    private View getMenuItemView(int index) {
+        return ((ViewGroup) mToolbar
+                .findViewById(R.id.car_ui_toolbar_menu_items_container))
+                .getChildAt(index);
+    }
+
     private void pressBack() {
-        mToolbar.findViewById(R.id.nav_icon_container).performClick();
+        mToolbar.findViewById(R.id.car_ui_toolbar_nav_icon_container).performClick();
     }
 
     private static class Mutable<T> {
