Edgesforextendedlayout Scrollview Can Host
Diese Frage hat bereits eine Antwort hier: Ich habe mehrere LinearLayout s mit einer kombinierten Höhe, die leicht übersteigt eine Geräte-Bildschirmhöhe. So, um mein Layout scrollable, versuchte ich das Hinzufügen in einem ScrollView. Aber leider bekomme ich die folgende Fehlermeldung: Scrollview kann nur ein direktes Kind Host ich einige Forschung, aber couldnt wirklich Sinn, wie es zu lösen, auch nach dem Lesen ein paar Lösungen. Ich versuchte ein paar Änderungen, aber nichts arbeitete für mich so weit. Jede Hilfe gefragt Mai 22 13 um 19:08 markiert als Duplikat von MH .. laalto. Rachel Gallen. Flavian Emil May 23 13 at 10:43 Diese Frage wurde bereits gestellt und hat bereits eine Antwort. Wenn diese Antworten nicht vollständig auf Ihre Frage eingehen, fragen Sie bitte eine neue Frage. 31 Days of Android: Tag 19ScrollViews Heute würden gehen, um 31 Tage von Android fortzufahren, indem Sie über zwei verschiedene Möglichkeiten, um mehr Informationen anzuzeigen, als auf dem Bildschirm passen zu sprechen : 160 ScrollView s und ListView s.160 Heute werden wir auf ScrollView s konzentrieren und morgen wird ListView s.160 Aufgrund der Art, wie diese beiden Views Arbeit, wollen Sie nicht zu kombinieren, die beiden von ihnen.160 Einmal Ive ging über beide Von ihnen morgen, Ill reden, warum sollten Sie sie separat.160 Sie können die Beispiel-Code herunterladen würde hier beginnen, heute mit hier. Mit dem ScrollView können Sie Bildschirme erstellen, die einer Webseite sehr ähnlich sind.160160160 Durch das Hinzufügen einer Bildlaufansicht zu einem Layout können Sie den Benutzer innerhalb der ScrollView vertikal und horizontal scrollen.160 Wenn Sie Ihre App jetzt ausführen, sehen Sie sie dort Ist keine Notwendigkeit für das Scrollen: 160 Allerdings, wenn Sie eine riesige Menge an Text am unteren Rand hinzufügen, könnte das ändern.160 Öffnen Sie Ihre Datei resvaluesstrings. xml und fügen Sie eine neue String.160 Name es bigtext und legte einen sehr großen Text String in there.160 So etwas wie dies: Um Ihre Zeichenfolge entsprechend lang, Id empfehlen, immer ein paar Absätze aus Bacon Ipsum .160 Nun öffnen Sie die reslayoutmain. xml Layoutdatei.160 Sie müssen eine neue TextView unter dem letzten Button hinzufügen Und setzen Sie es auf Ihre bigtext value.160 Wenn youre getan, sollten Sie etwas wie dieses: Nun, wenn Sie Ihre Anwendung ausführen, youll bemerken, dass der Text aus dem Bildschirm geht und Sie nicht haben, um es zu sehen: Heres, wo Sie die verwenden können ScrollView .160 Ihr erster Instinkt kann sein, zurück zu Ihrem Layout zu gehen und das LinearLayout an der Wurzel zu einer ScrollView zu ändern .160 Wenn Sie das tun, werden Sie von diesem unangenehmen Fehler begrüßt: Verursacht durch: java. lang. IllegalStateException: ScrollView kann Host nur ein direktes Kind Dies bedeutet, dass Sie nicht mehr als eine Ansicht als untergeordnetes Element der ScrollView haben können.160 Da Ihr Layout über ein paar TextViews verfügt. Ein EditText. Und ein paar Buttons. Können Sie nicht einfach ersetzen die Wurzel LinearLayout wie this.160 Was können Sie tun, obwohl ist wrap die LinearLayout innerhalb eines ScrollView .160 Dies ermöglicht Ihnen, ein einzelnes Kind unter dem ScrollView haben, aber mehrere Kinder unterhalb haben.160 Wenn youre getan, Ihre XML sollte so aussehen: Jetzt, wenn Sie Ihre Anwendung ausführen, können Sie tippen Sie auf den Bildschirm und ziehen Sie nach oben: Beachten Sie, dass, wenn Sie scrollen youll sehen Sie eine Bildlaufleiste auf der rechten Seite des Bildschirms.160 Youll bemerken, dass Sie nicht nach rechts scrollen Oder links.160 Dies liegt daran, dass die ScrollView nur das vertikale Blättern unterstützt.160 Mit dem HorizontalScrollView-Element können Sie horizontal scrollen.160 Es ist möglich, ein HorizontalScrollView als Kind der VerticalScrollView einzufügen, mit dem Sie in beide Richtungen blättern können, Jedoch sagt Google, dass dies eine schlechte Idee .160 Stattdessen schlagen Sie vor, Sie überschreiben ScrollView und erstellen Sie Ihre eigene Steuerung fähig sowohl vertikale als auch horizontale scrolling.160 Dies ist durchaus möglich und wenn Sie das Internet suchen, youll finden Sie einige Beispiele für Menschen tun Dies und sogar den Quellcode für ihre Implementierungen.160 Wie ich gerne tun, erinnern Id daran erinnern, dass nur, weil Sie es tun können, bedeutet nicht, dass Sie sollten. Die Erfahrung, wenn Sie in mehrere Richtungen auf einem kleinen Bildschirm scrollen müssen Gerät ist nicht ein sehr gutes (ja das WebView und Browser geben Ihnen diese Fähigkeit und Id argumentieren, ob ich das manchmal mag) .160 Es gibt eine Reihe von verschiedenen Attributen, die Sie in einem ScrollView verwenden können, einschließlich diejenigen, mit denen Sie ändern, wie die Bildlaufleisten aussehen , Wie lange sie sichtbar sind, wenn sie sichtbar sind, etc.160 Darüber hinaus können Sie das Scrollen von ScrollView programmgesteuert kontrollieren, wenn Sie möchten.160 Wenn Sie zum Beispiel eine Schaltfläche hinzufügen möchten, die den ScrollView auslösen würde, Oben, ist dies möglich, indem Sie Folgendes tun: Hier erhalten Sie einen Verweis auf Ihre ScrollView und sagen es, um zurück zu der oberen linken Ecke.160 Eine weitere wichtige Sache über die ScrollView ist, dass es nicht das Root-Element in Ihrem Layout sein .160 Wenn Sie eine Textüberschrift am oberen Rand des Bildschirms haben möchten, die Ihre Bildlaufansicht nicht umfasst, können Sie einfach den ScrollView als untergeordnetes Element des Root-LinearLayout einfügen .160 Heres Ihr Layout-XML, in dem das ScrollView nur die Datei einpackt Bigtext TextView: Sie sollten bereit sein, ScrollView s in Ihren eigenen Anwendungen jetzt verwenden.160 Morgen gut gehen über die andere Methode der Anzeige einer Vielzahl von Informationen in einer einzigen Seite, ListView s.160 Share Post
Comments
Post a Comment