Auf dieser Seite werden das Anpassen von CarUiRecyclerView
und das Scrollen beschrieben.
.
Voraussetzungen
Für diese Seite wird vorausgesetzt, dass Sie ein RRO-Ziel-APK (Laufzeitressourcen-Overlay) kennen. Weitere Informationen Weitere Informationen finden Sie unter Apps anpassen.
Über CarUiRecyclerView
Wenn car_ui_scrollbar_enable
in bools.xml
auf false
gesetzt ist, gilt Folgendes:
Mit CarUiRecyclerView
wird die Bildlaufleiste nicht aufgebläht. Allerdings werden nur die
androidx.recyclerview
wird durch die unten definierten anpassbaren Stile aufgebläht.
Wenn car_ui_scrollbar_enable
auf true
gesetzt ist, gilt Folgendes:
„CarUiRecyclerView
“ bläht den Container mit installierter Bildlaufleiste auf
darin enthalten sind. Später wird androidx.recyclerview
ebenfalls im selben
Container.
CarUiRecyclerView
kann einen beliebigen Adapter verwenden, um die Daten anzuzeigen. Die
Es wird empfohlen, CarUiListItemAdapter
zu verwenden, wobei die Chassis-Bibliothek die
für listItems erstellen und somit von OEMs anpassen. Die Anpassung für ListItems
werden in der Anpassung
Optionen für „CarUiListItem“.
Standardmäßig wird car_ui_scrollbar_margin
als Breite der Bildlaufleistenansicht verwendet.
Diese Marge wird auch als android:endMargin
von CarUiRecyclerView hinzugefügt, damit
haben am Anfang und am Ende der Daten
die gleiche Marge. Wenn der Entwickler
enableDivider=true
dann kann der OEM festlegen, wie die Trennlinien dargestellt werden sollen.
Folgende Abmessungen können für CarUiRecyclerView
angepasst werden:
<dimen name="car_ui_recyclerview_divider_height">0dp</dimen> <dimen name="car_ui_recyclerview_divider_start_margin">0dp</dimen> <dimen name="car_ui_recyclerview_divider_end_margin">0dp</dimen> <dimen name="car_ui_recyclerview_divider_top_margin">0dp</dimen> <dimen name="car_ui_recyclerview_divider_bottom_margin">0dp</dimen>
Bildlaufleiste
<ph type="x-smartling-placeholder">Die Layoutdatei für die Bildlaufleiste „CarUiRV
“ ist definiert in
car_ui_recyclerview_scrollbar.xml
. Insgesamt sind diese vier Aufrufe
die in der Ansicht definiert sind:
Aufrufe | |
---|---|
Car_ui_scrollbar_page_up |
Definiert die Schaltfläche „Nach oben“ der Bildlaufleiste. |
Car_ui_scrollbar_page_down |
definiert die Schaltfläche „Nach unten“ der Bildlaufleiste. |
Car_ui_scrollbar_thumb |
Die Höhe wird dynamisch berechnet, und zwar abhängig von der Anzahl der Listenelemente im Recycler View (RV) |
Car_ui_scrollbar_track |
Gesamthöhe, die die Grenzen definiert, innerhalb derer sich der Daumen bewegt. |
OEMs sollten diese Layoutdatei überlagern, um die Bildlaufleiste anzupassen. Track-Ansicht sollte vorsichtig platziert werden, da dies die Grenzen definieren würde, innerhalb derer sich der Daumen bewegt. Die Daumenhöhe wird dynamisch anhand der Listenelemente im Wohnmobil und der Höhe berechnet. der Ansichtsträger.
Dieses Layout ist im Container CarUiRV
enthalten
car_ui_recycler_view.xml
nur wenn car_ui_scrollbar_enable
ist true
.
Weitere Abmessungen, die für die Bildlaufleiste angepasst werden können, sind:
<dimen name="car_ui_scrollbar_container_width">@dimen/car_ui_margin</dimen> <dimen name="car_ui_scrollbar_button_size">@dimen/car_ui_touch_target_width</dimen> <dimen name="car_ui_scrollbar_thumb_width">7dp</dimen> <dimen name="car_ui_scrollbar_separator_margin">16dp</dimen> <dimen name="car_ui_scrollbar_margin">@dimen/car_ui_margin</dimen> <dimen name="car_ui_scrollbar_thumb_radius">100dp</dimen> <item name="car_ui_button_disabled_alpha" format="float" type="dimen">0.2</item> <item name="car_ui_scrollbar_milliseconds_per_inch" format="float" type="dimen">150.0</item> <item name="car_ui_scrollbar_deceleration_times_divisor" format="float" type="dimen">0.45</item> <item name="car_ui_scrollbar_decelerate_interpolator_factor" format="float" type="dimen">1.8</item> <dimen name="car_ui_scrollbar_padding_start">0dp</dimen> <dimen name="car_ui_scrollbar_padding_end">0dp</dimen>
Beispiel
So blenden Sie beispielsweise den Aufwärts- und den Abwärtspfeil am unteren Bildschirmrand zusammen:
- Overlay-
car_ui_recyclerview_scrollbar.xml
:<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="@dimen/car_ui_margin" android:layout_height="match_parent" android:id="@+id/car_ui_scroll_bar"> <!-- View height is dynamically calculated during layout. --> <View android:id="@+id/car_ui_scrollbar_thumb" android:layout_width="7dp" android:layout_height="20dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:background="@drawable/car_ui_recyclerview_scrollbar_thumb"/> <View android:id="@+id/car_ui_scrollbar_track" android:layout_width="10dp" android:layout_height="match_parent" android:layout_marginTop="10dp" android:layout_centerHorizontal="true" android:layout_above="@+id/car_ui_scrollbar_page_up"/> <ImageView android:id="@+id/car_ui_scrollbar_page_up" android:layout_width="76dp" android:layout_height="76dp" android:focusable="false" android:hapticFeedbackEnabled="false" android:src="@drawable/car_ui_recyclerview_ic_up" android:scaleType="centerInside" android:layout_centerHorizontal="true" android:layout_above="@+id/car_ui_scrollbar_page_down"/> <ImageView android:id="@+id/car_ui_scrollbar_page_down" android:layout_width="76dp" android:layout_height="76dp" android:focusable="false" android:hapticFeedbackEnabled="false" android:src="@drawable/car_ui_recyclerview_ic_down" android:scaleType="centerInside" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true"/> </RelativeLayout>
- Fügen Sie
Overlays.xml
hinzu, um die Ressourcen zu definieren, die von der RRO überlagert werden sollen:<overlay> <item target="id/car_ui_scroll_bar" value="@id/car_ui_scroll_bar"/> <item target="id/car_ui_scrollbar_thumb" value="@id/car_ui_scrollbar_thumb"/> <item target="id/car_ui_scrollbar_track" value="@id/car_ui_scrollbar_track"/> <item target="id/car_ui_scrollbar_page_up" value="@id/car_ui_scrollbar_page_up"/> <item target="id/car_ui_scrollbar_page_down" value="@id/car_ui_scrollbar_page_down"/> <item target="layout/car_ui_recyclerview_scrollbar" value="@layout/car_ui_recyclerview_scrollbar"/> </overlay>
- Wenn ein Drawable nach oben, unten oder mit dem Daumen aktualisiert werden muss, sollten diese ebenfalls überlagert werden.
- Wenn im RRO-Paket neue Ressourcen verwendet werden, die noch nicht vorhanden sind, Diese Ressourcen sollten auch in dem von Ihnen erstellten RRO-APK definiert sein.