PDM ScrollView

De MediaWiki
Ir a la navegación Ir a la búsqueda

Introdución


  • Permite que calquera view que se atope 'dentro del' teña un scroll vertical se o seu tamaño é maior que o espazo do seu contedor pai.


  • Soamente ten un scroll de tipo Vertical.
Se se quere un scroll horizontal débese facer uso dun HorizontalScrollView



  • En caso de querer adaptar o scroll as normas do Material Design, debería usarse un NestedScrollView


  • Dito control soamente permite un único View como fillo. Se queredes aplicar un scroll a moitos view´s teredes que empregar un ViewGroup e facer que dito viewgroup sexa fillo do ScrollView.
Dentro do ViewGroup engadides todos os views que queirades en base á distribución do ViewGroup escollido.



Atributos

  • fadeScrollbars: Indicamos se queremos que as barras de desprazamento sexan visibles por defecto ou se soamente aparecen cando realizamos o scroll.
  • scrollsbars: Indicamos que tipo de barra queremos que apareza (horizontal, vertical ou ninguhna). Por defecto aparecerá a que necesite para facer o scroll.


  • scrollbarStyle: Indicamos como queremos que visualmente aparezan as barras de scroll.
PDM scrollview 1.jpg
Imaxe obtida deste fío



Exemplo de código con ScrollView e NestedScrollView

  • Nota: Vos dará erro na referencia das imaxes. Cambiádeas por algunha que teñades no voso proxecto.
Fixarse como podemos facer scroll soamente do texto...
PDM scrollview 2.jpg
 1 <?xml version="1.0" encoding="utf-8"?>
 2 
 3 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
 4     xmlns:app="http://schemas.android.com/apk/res-auto"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     android:fadeScrollbars="false"
 8     android:scrollbarStyle="outsideOverlay"
 9     android:scrollbars="vertical">
10 
11     <LinearLayout
12         android:layout_width="match_parent"
13         android:layout_height="wrap_content"
14         android:orientation="vertical">
15 
16         <android.support.v4.widget.NestedScrollView
17             android:layout_width="match_parent"
18             android:layout_height="31dp"
19             android:layout_margin="10dp"
20             android:fillViewport="true"
21             android:fadeScrollbars="false"
22             android:scrollbars="vertical">
23 
24             <TextView
25                 android:id="@+id/textView3"
26                 android:layout_width="match_parent"
27                 android:layout_height="30dp"
28                 android:text="TextView dsjkfb djsdhf jkah sdjk jadsh fjahsd jkhasdj kfhajskdh jkasdh fjkahsd jkf h jkahds jkfhasdjkjkasdhfjkasdhfjkahsdjkjk jkhja kk jakdls jakldsj fkalsjd fjasdlkfjladfkshdf jkahsdjkha jsd fhjkashdfjkasd f casa" />
29         </android.support.v4.widget.NestedScrollView>
30 
31         <ImageView
32             android:id="@+id/imageView2"
33             android:layout_width="match_parent"
34             android:layout_height="217dp"
35             app:srcCompat="@drawable/casa_1" />
36 
37         <ImageView
38             android:id="@+id/imageView3"
39             android:layout_width="match_parent"
40             android:layout_height="258dp"
41             app:srcCompat="@drawable/casa_1" />
42 
43         <ImageView
44             android:id="@+id/imageView4"
45             android:layout_width="match_parent"
46             android:layout_height="234dp"
47             app:srcCompat="@drawable/casa_1" />
48 
49         <ImageView
50             android:id="@+id/imageView5"
51             android:layout_width="match_parent"
52             android:layout_height="234dp"
53             app:srcCompat="@drawable/casa_1" />
54 
55     </LinearLayout>
56 
57 </ScrollView>






Enlace a la página principal de la UD2

Enlace a la página principal del curso





-- Ángel D. Fernández González -- (2018).