Diferencia entre revisiones de «PDM ScrollView»

De MediaWiki
Ir a la navegación Ir a la búsqueda
 
Línea 32: Línea 32:
 
[[Imagen:PDM_scrollview_1.jpg|300px|center]]
 
[[Imagen:PDM_scrollview_1.jpg|300px|center]]
 
<center><small>Imaxe obtida [https://stackoverflow.com/questions/3103132/android-listview-scrollbarstyle deste fío]</small></center>
 
<center><small>Imaxe obtida [https://stackoverflow.com/questions/3103132/android-listview-scrollbarstyle deste fío]</small></center>
 +
 +
 +
 +
<br />
 +
=Exemplo de código con ScrollView e NestedScrollView=
 +
 +
*<u>Nota:</u> 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...
 +
[[Imagen:PDM_scrollview_2.jpg|300px|center]]
 +
 +
<syntaxhighlight lang="java" line enclose="div" highlight="">
 +
<?xml version="1.0" encoding="utf-8"?>
 +
 +
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
 +
    xmlns:app="http://schemas.android.com/apk/res-auto"
 +
    android:layout_width="match_parent"
 +
    android:layout_height="match_parent"
 +
    android:fadeScrollbars="false"
 +
    android:scrollbarStyle="outsideOverlay"
 +
    android:scrollbars="vertical">
 +
 +
    <LinearLayout
 +
        android:layout_width="match_parent"
 +
        android:layout_height="wrap_content"
 +
        android:orientation="vertical">
 +
 +
        <android.support.v4.widget.NestedScrollView
 +
            android:layout_width="match_parent"
 +
            android:layout_height="31dp"
 +
            android:layout_margin="10dp"
 +
            android:fillViewport="true"
 +
            android:fadeScrollbars="false"
 +
            android:scrollbars="vertical">
 +
 +
            <TextView
 +
                android:id="@+id/textView3"
 +
                android:layout_width="match_parent"
 +
                android:layout_height="30dp"
 +
                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" />
 +
        </android.support.v4.widget.NestedScrollView>
 +
 +
        <ImageView
 +
            android:id="@+id/imageView2"
 +
            android:layout_width="match_parent"
 +
            android:layout_height="217dp"
 +
            app:srcCompat="@drawable/casa_1" />
 +
 +
        <ImageView
 +
            android:id="@+id/imageView3"
 +
            android:layout_width="match_parent"
 +
            android:layout_height="258dp"
 +
            app:srcCompat="@drawable/casa_1" />
 +
 +
        <ImageView
 +
            android:id="@+id/imageView4"
 +
            android:layout_width="match_parent"
 +
            android:layout_height="234dp"
 +
            app:srcCompat="@drawable/casa_1" />
 +
 +
        <ImageView
 +
            android:id="@+id/imageView5"
 +
            android:layout_width="match_parent"
 +
            android:layout_height="234dp"
 +
            app:srcCompat="@drawable/casa_1" />
 +
 +
    </LinearLayout>
 +
 +
</ScrollView>
 +
 +
</syntaxhighlight>
  
  

Revisión actual del 14:56 6 oct 2019

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>









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