Einstürzende Symbolleiste Layout mit viewpager
Ich bin mit CollapsingBarLayout mit viewpager und die Fragmente der viewpager mit listview, gridview.
Hier ist mein code:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.bigsteptech.seandroidnativeapp.classes.modules.common.ViewGroupEvent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:expandedTitleTextAppearance="@style/TransparentText">
<FrameLayout
android:id="@+id/carouselLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_collapseMode="parallax">
<ImageView
android:id="@+id/coverImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"/>
<LinearLayout
android:layout_width="match_parent"
android:gravity="bottom"
android:orientation="vertical"
android:layout_gravity="bottom"
android:padding="@dimen/profile_image_margin"
android:background="@drawable/gradient_bg"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/profile_image_margin"
android:textSize="@dimen/text_size_xlarge"
android:textStyle="bold"
android:textColor="@color/white"
android:id="@+id/content_title"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_marginLeft="@dimen/profile_image_margin"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="@color/white"
android:textSize="@dimen/text_size_medium"
android:id="@+id/category_title"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:layout_toRightOf="@+id/category_title"
android:layout_marginLeft="@dimen/profile_image_margin"
android:textColor="@color/white"
android:textSize="@dimen/text_size_medium"
android:id="@+id/memberCount"/>
</RelativeLayout>
</LinearLayout>
</FrameLayout>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:theme="@style/ActionBarThemeOverlay"
app:popupTheme="@style/ActionBarPopupThemeOverlay"
android:background="@drawable/gradient_bg"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="fill_vertical"
android:isScrollContainer="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/contentInfo"
android:paddingBottom="48sp"
android:clipToPadding="false"
android:orientation="vertical">
<ProgressBar
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/profile_page_left_right_margin"
android:layout_gravity="center"
android:id="@+id/progressBar"/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:background="@color/grey_light">
<TextView android:id="@+id/ownerTitle"
android:clickable="true"
android:focusable="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/keyline_1"
android:layout_gravity="center_vertical"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textColor="@color/body_text_1" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/profile_image_margin"
android:padding="10dp">
<com.bigsteptech.seandroidnativeapp.Classes.Modules.Common.ViewRelated.ExpandableTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/keyline_1"
style="@style/TextBody"
android:layout_gravity="center_vertical"
android:id="@+id/view_description" />
</LinearLayout>
<android.support.design.widget.TabLayout
android:id="@+id/slidingTabs"
android:layout_width="match_parent"
app:tabIndicatorHeight="3dp"
app:tabMode="scrollable"
android:layout_height="wrap_content"/>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="300dp">
</android.support.v4.view.ViewPager>
</LinearLayout>
</RelativeLayout>
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.FloatingActionButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
app:layout_anchor="@id/appbar"
android:id="@+id/joinGroupButton"
app:layout_anchorGravity="bottom|right|end"
android:src="@drawable/ic_action_new"
android:layout_margin="@dimen/fab_margin"
android:clickable="true"/>
</android.support.design.widget.CoordinatorLayout>
Fragmente, die mit listview, gridview nicht scrollen, bis in der kollabierenden Symbolleiste, wie kann ich erreichen, das funktioniert..
Bitte helfen Sie mir, danke, dass du so viel in der erweiterten...
Ich will entwerfen Sie ein layout, wie: 1. Einstürzende Symbolleiste. 2. NestedScrollview mit 2-3 textview. 3. Unter diesen textviews, in der gleichen nestedscrollvew, habe ich einige Tabs mit Viewpager. 4. Ich habe Fragmente mit listview und gridview. 5. Jetzt das scrollen funktioniert nicht gut mit diesen listview und gridview. Wie kann ich erreichen, das funcationality, können Sie mir bitte helfen.
Haben Sie überprüft mein code?ich habe umgesetzt, was Sie brauchen, und mehr
Verwenden Sie nicht nestedScrollView, RecyclerView-oder ListView-Konflikte scrollen.
Haben Sie überprüft mein code?ich habe umgesetzt, was Sie brauchen, und mehr
Verwenden Sie nicht nestedScrollView, RecyclerView-oder ListView-Konflikte scrollen.
InformationsquelleAutor Prithniraj Nicyone | 2015-08-10
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie legen Sie Ihre ViewPager innen AppBar Abschnitt und setup layout_behavior :
Wenn Sie die Verwendung von Fragmenten als Kinder ViewPager müssen Sie setup layout_behavior an jedes fragment innerhalb ViewPager zu.
ok, ich habe es. Das ist eine schlechte Idee. Benötigen Sie einen einzelnen Blättern Umgang mit layout - ScrollView, ListView, etc. Lesen Sie hier mehr. stackoverflow.com/questions/3495890/...
ich glaube, ich habe eine Idee, wie Sie helfen können. Wenn Sie noch nicht alle Elemente unterhalb ListView können Sie nicht-scrollbaren Listenansicht, mehr Details hier : stackoverflow.com/a/24629341/2956344. Und spielen mit developer.android.com/reference/android/view/...
InformationsquelleAutor Sergey Shustikov
einstürzenden Symbolleiste mit Registerkarten mit neuen material-design-support-Bibliothek
Ich verwendet offiziellen einstürzenden Symbolleiste feature der neuen material design-support-Bibliothek.
hier reduzierte Ansicht ist die Höhe 256dp und Registerkarten Höhe ist 56dp
machte ich folgenden Pfad
Schnitt ich das Bild in zwei Teile, für die reduzierte Ansicht und eine für tabs.
ich abgeschnittene Bilder nach dp-zu-pixel Größen mit hoher Auflösung drawable xxxhdpi und in drawable-Ordner, so wird es einstellbar, um alle Bildschirm-Größen
habe ich 2000x1246 Bild
Bild oben 256dp= 2000x1024 pixel
unteren Registerkarte Bild 56dp= 2000x224 pixel
Hier ist das komplette Beispiel mit Quellcode
InformationsquelleAutor nirav kalola
ListView
undGridView
sind nicht ausgestattet mitNestedScrolling
Funktionen. Und das ist notwendig, um die Arbeit mit derCollapsingToolbarLayout
.Der einfachste Weg, es zu schaffen, wäre die änderung Ihrer
ListView
undGridView
zuRecyclerViews
(RecyclerView
implementiertNestedScrollingChild
).da hast du Recht aber es ist eine Problemumgehung für dieses Problem implementierte ich eine grid-Ansicht in einer Liste anzeigen mit statischer grid-Ansicht die Höhe berechnet sich nach dem erstellen der grid-Ansicht
Und von "meine Anforderungen sind so", du meinst "das habe ich schon, und will nicht den code neu schreiben" 🙂 ? Ich wird nicht helfen, Sie machen
ListView
implementieren NestedScolling, da würde ich nie die Mühe. Das würde sehr viel länger dauern als umschreiben IhreListView
undGridView
.Tut mir Leid, @Tony, aber das klingt wie eine schreckliche Idee... Wenn ich das richtig verstehe bist du gezwungen werden, Ihre
GridView
zu zeigen, die volle Höhe aller Elemente in es. Daher sind Sie deaktivieren das einzige, wasGridView
nutzbar - die Wiederverwendung seinerViews
die Idee der Wiederverwendung ist noch vorhanden und ich habe nicht geschrieben der code bcuz, das ist nicht das, was er will
InformationsquelleAutor Bartek Lipinski
ich dies erreicht haben, werde ich meinen code mit der Bibliothek verwendet
Erstens ist dies die layout-Datei
und in den java-code, den Sie hinzufügen sollte, diese
und hier ist die Bibliothek verwendet
aber ich habe geändert in dieser Bibliothek zu arbeiten, wie ich will
der änderung ist die add-Methode in stcikylistview builder, um zu wissen, die Tätigkeit verwendet, und übergeben Sie einen Delegaten für das scrollen habe ich benutzt, weil ich fügte hinzu, ein Weichzeichner für Bilder im viewpager
und Sie ist meine Modifikation
werde ich hochladen der geänderten version der Bibliothek
hier sind Sie https://drive.google.com/file/d/0BxdN8PyW5nmHMmFFeFY2aW9zdlk/view?usp=sharing
InformationsquelleAutor Antwan
Hatte ich dieses Problem auch. Sie müssen verwendet RecyclerView. Jetzt verstehe ich, Sie verwenden müssen, ListView und GridGiew, aber Sie können verwenden, dass innerhalb einer RecyclerView.
Zum Beispiel, ich werde Ihnen zeigen, wie zu implementieren ist ein GridLayout-Objekt innerhalb einer RecyclerView.
In Ihrem fragment-layout, das Sie wollen, zu implementieren GridView-in), fügen Sie den folgenden XML -
Dann auf das fragment von java,
auf Ihrem fragment onCreateView, definieren die RecyclerView,
Erstellen Sie die Methode setupRecyclerView,
Müssen Sie definieren, mAdapter als
RecyclerView.Adapter
ersten. Dann erstellen Sie Ihr den adapter für die RecyclerView. Beachten Sie, dass, mItems eine ArrayList, die Inhalte Ihrer Liste.AdapterGridView.java
InformationsquelleAutor SergeantPeauts