/ / Snažia sa získať textView držať gridView scroll - android, layout android, android-gridview, android-rolovať

Pokúšate sa získať textView, aby sa držal gridView scroll - android, layout android, android-gridview, android-rolovať

Mám fragment s a textView dávať pokyny a pod gridView, Chcel som pre textView na posúvanie smerom hore gridView, Inými slovami: pre textView keď zmizne obrazovka gridView sa pohybuje.

Moja myšlienka, ako to dosiahnuť, je dať gridView pevnú výšku, ktorá by umožnila posúvanie celého rozloženia - vrátane textView, Avšak, kým to nemôžem dosiahnuť. Existuje spôsob, ako to urobiť?

Rozloženie bez posúvania:

Rozloženie bez posúvania

Pri posúvaní:

Pri posúvaní:

Akákoľvek pomoc / rada by bola ocenená.

Moje rozloženie XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/LightGrey"
android:gravity="center_horizontal|center_vertical"
android:orientation="vertical" >

<TextView
android:id="@+id/chooseLine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="18dp"
android:text="@string/chooseLine"
android:textAppearance="?android:attr/textAppearanceLarge" />

<GridView
android:id="@+id/gridLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="130dp"
android:fitsSystemWindows="false"
android:gravity="center"
android:horizontalSpacing="5dp"
android:numColumns="auto_fit"
android:paddingTop="0dp"
android:stretchMode="columnWidth"
android:verticalSpacing="25dp" />

</LinearLayout>

odpovede:

2 pre odpoveď č. 1

Dosiahnutie tohto cieľa nebude triviálne. Potrebujete funkciu ListView pridať záhlavie hlavičky, ale bohužiaľ GridView neposkytuje túto funkčnosť.

Čo som v minulosti urobil, aby som to vyriešilproblém je previesť GridView do ListView a potom pridať hlavičku do ListView. Vytvoril som adaptér na obal, ktorý zachytí pôvodný adaptér a spojí bunky mriežky s horizontálnym riadkom do jedného riadku zoznamu.

Zložité časti zahŕňajú: dynamické prispôsobenie počtu stĺpcov v riadku na základe šírky obrazovky, účtovanie všetkých kombinácií typov zobrazenia v riadku a zvyšných prázdnych stĺpcov v poslednom riadku a správne zaobchádzanie s interakciami s kliknutiami.


1 pre odpoveď č. 2

Vložte celý LinearLayout do ScrollView (Ako používať ScrollView v systéme Android?) a pre súbor GridView android: layout_height = "wrap_content"