Erinnerungen
Einstellungen der Bildlaufleiste
Ob die Bildlaufleiste immer angezeigt wird
Passen Sie den Schiebehintergrund der Bildlaufleiste und den Hintergrund der Bildlaufleiste an
Legen Sie die Breite der Bildlaufleiste fest
Legen Sie den Abstand der Bildlaufleiste fest
Andere allgemeine Einstellungen
Scrollgeschwindigkeit einstellen
Beispiel für einen Layout-Code
Darstellungen
Einführung
HorizontalScrollView ist eine horizontal scrollende Beschriftung. Vertikales Scrollen ist das ScrollView-Tag
HorizontalScrollView ist ein für das Layout verwendeter Container, der die Ansichtshierarchie platzieren kann, die Benutzer mithilfe von Bildlaufleisten anzeigen können, sodass die Ansichtsstruktur größer als der Bildschirm des Mobiltelefons sein kann. HorizontalScrollView ist ein FrameLayout (Rahmenlayout), dessen untergeordnete Elemente sich beim Scrollen als Ganzes bewegen, und das untergeordnete Element selbst kann ein Layout-Manager mit einer komplexen hierarchischen Struktur sein. Eine häufige Anwendung sind Elemente in horizontaler Ausrichtung, bei denen der Benutzer scrollen kann, um die horizontal angeordneten Elemente auf der obersten Ebene anzuzeigen.
Es eignet sich sehr gut zum unendlichen Verschieben von Szenen und Bildern, für mehrere benutzerdefinierte Tastenlayouts unten (unterstützt Inkrementierung) usw.
Vorsichtsmaßnahmen
- HorizontalScrollView unterstützt nur die horizontale Bildlaufanzeige
- ScrollView und HorizontalScrollView können nur ein untergeordnetes Element haben, sodass Sie ein LinearLayout-Layout hinzufügen und andere Schaltflächen und andere Dinge in dieses LinearLayout einfügen können. Dann hat das untergeordnete Element von ScrollViewd nur ein LinearLayout und die untergeordneten Elemente von LinearLayout sind nicht begrenzt.
- Es kann nicht gleichzeitig mit ListView verwendet werden, da ListView über eigene Bildlaufleisteneinstellungen verfügt. Das Wichtigste ist, dass die gleichzeitige Verwendung beider Listen dazu führt, dass ListView bei einigen wichtigen Optimierungen fehlschlägt, wenn Sie eine große Liste anzeigen müssen. Der Grund für diesen Fehler liegt darin, dass HorizontalScrollView ListView dazu zwingt, den von HorizontalScrollView selbst bereitgestellten unendlichen Container zu verwenden, um die vollständige Liste anzuzeigen.
- TextView verfügt außerdem über eine eigene Bildlaufleiste, sodass ScrollView nicht erforderlich ist. Aber beide können gleichzeitig verwendet werden und das Ergebnis ist eine Textansicht, die in einem größeren Container angezeigt wird.
Grundlegende Attribute
Bildlaufleisten
Stellen Sie die Anzeige der Bildlaufleiste ein: keine (versteckt), horizontal (horizontal), vertikal (vertikal).
scrollbarFadeDuration
Legen Sie die Zeit für den Ausblendeffekt der Bildlaufleiste (von vorhanden über langsames Ausblenden bis zum Verschwinden) in Millisekunden fest. In Android 2.2 verschwindet die Bildlaufleiste nach dem Scrollen und kommt nach dem Scrollen wieder heraus. In den Versionen 1.5 und 1.6 wird sie immer angezeigt.
scrollbarSize
Legt die Breite der Bildlaufleiste fest.
scrollbarStyle
Legen Sie den Stil und die Position der Bildlaufleiste fest. Einstellwerte: insideOverlay, insideInset, OutsideOverlay, OutsideInset
scrollbarThumbHorizontal
Legt den Zeichenbereich der horizontalen Bildlaufleiste fest.
scrollbarThumbVertical
Legt den Zeichenbereich der vertikalen Bildlaufleiste fest.
scrollbarTrackHorizontal
Legt die Zeichenfarbe des Hintergrunds (Spur) der horizontalen Bildlaufleiste fest
soundEffectsEnabled
Legen Sie fest, ob beim Klicken oder Berühren Soundeffekte zu hören sind
fadeScrollbars
Ob die Bildlaufleiste immer angezeigt wird: false wird immer angezeigt, true wird automatisch ausgeblendet
overScrollMode
Es gibt insgesamt 3 Gleitmodi:
nie
setOverScrollMode(View.OVER_SCROLL_NEVER)
Stellen Sie diesen Modus ein und gleiten Sie nach dem anderen weiter bis zur Grenze. Ein Lichtbogen erscheint
immer
setOverScrollMode(View.OVER_SCROLL_ALWAYS)
Stellen Sie diesen Modus ein und gleiten Sie nach dem Gleiten weiter die Grenze. Es wird immer einen Lichtbogen geben
ifContentScrolls
setOverScrollMode(View.OVER_SCROLL_IF_CONTENT_SCROLLS)
Stellen Sie diesen Modus ein, falls vorhanden recycleview Wenn der Inhalt verschoben werden kann, führt das Verschieben bis zur Grenze und das weitere Verschieben dazu, dass ein Lichthof erscheint. Wenn der Inhalt in der Recyclingansicht nicht verschoben werden kann, wird durch das Verschieben bis zur Grenze und das weitere Verschieben kein Lichthof angezeigt .
Einstellungen der Bildlaufleiste
Ob die Bildlaufleiste immer angezeigt wird
„False“ wird immer angezeigt, „True“ wird automatisch ausgeblendet
Passen Sie den Schiebehintergrund der Bildlaufleiste und den Hintergrund der Bildlaufleiste an
Einstellungen für den verschiebbaren Hintergrund der Bildlaufleiste:
android:scrollbarThumbHorizontal= "@drawable/shape_main_bottom_scroll_bar"
shape_main_bottom_scroll_bar.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/white" />
<corners android:radius="360dp" />
</shape>
Hintergrundeinstellung der Bildlaufleiste:
android:scrollbarTrackHorizontal="@drawable/shape_main_bottom_scroll_bg_bar"
shape_main_bottom_scroll_bg_bar.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#357AD5" />
<corners android:radius="360dp" />
</shape>
Legen Sie die Breite der Bildlaufleiste fest
android:scrollbarSize="6dp"
Legen Sie den Abstand der Bildlaufleiste fest
Verwenden Sie paddingBottom in HorizontalScrollView oder dessen Steuerhöhe (layout_height), layout_marginTop usw., um die Zeit- und Distanzsteuerung flexibel zu nutzen
Andere allgemeine Einstellungen
Scrollgeschwindigkeit einstellen
Dies stellt uns keine Methode zur Verfügung, die direkt festgelegt werden kann. Wir müssen ScrollView selbst erben und dann eine öffentliche void fling (int VelocityY)-Methode überschreiben:
@Override
public void fling(int velocityY) {
super.fling(velocityY / 2); //速度变为原来的一半
}
Beispiel für einen Layout-Code
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbarThumbHorizontal= "@drawable/shape_main_bottom_scroll_bar"
android:scrollbarTrackHorizontal="@drawable/shape_main_bottom_scroll_bg_bar"
android:fadeScrollbars="false"
android:overScrollMode="never"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/historyMainSysBtn"
style="@style/main_bottom_btn_style"
android:background="@mipmap/gongnengicon4"
android:layout_marginLeft="0dp"
android:text="历史呼叫"
/>
<Button
android:id="@+id/handleMainSysBtn"
style="@style/main_bottom_btn_style"
android:background="@mipmap/gongnengicon5"
android:text="办理中"
/>
<Button
android:id="@+id/callToNumberMainSysBtn"
style="@style/main_bottom_btn_style"
android:background="@drawable/szgw_skip_number_btn"
android:text="过号"
/>
<Button
android:id="@+id/callTransferMainSysBtn"
style="@style/main_bottom_btn_style"
android:background="@mipmap/gongnengicon7"
android:text="呼叫移动"
/>
<Button
android:id="@+id/specialCallMainSysBtn"
style="@style/main_bottom_btn_style"
android:background="@mipmap/gongnengicon8"
android:text="特呼"
/>
<Button
android:id="@+id/pushMessageMainSysBtn"
style="@style/main_bottom_btn_style"
android:background="@mipmap/gongnengicon9"
android:text="消息推送"
/>
</LinearLayout>
</HorizontalScrollView>
Zusammenfassen
Nach der einfachen Verwendung gibt es jetzt immer mehr Steuerelemente und sie werden immer leistungsfähiger, insbesondere mit dem Aufkommen von Androidx und anderen Steuerelementen, aber jedes Steuerelement hat sein am besten geeignetes Szenario.
Nur zuzusehen und zu tippen ist nutzlos
Nach dem Lesen müssen Sie es üben
Sie müssen den Code eingeben
Machen Sie unbedingt Versuch und Irrtum.
Das ist sinnvolles Lernen