Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

Problema na scrollView

Quando eu estou inserindo a ScrollView no projeto, ele não esta rolando a tela, e não aparece nenhum código de erro. Pode ser problema no emulador? Segue o código:

<ScrollView android:layout_height="match_parent"
    android:layout_width="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <LinearLayout 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/content_formulario"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        tools:context="com.example.giovanni.agenda2.FormularioActivity"
        tools:showIn="@layout/activity_formulario">

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Nome" />
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Endereço" />
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Telefone" />
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Site" />
        <RatingBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:max="10"
            android:numStars="5"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Salvar"/>

    </LinearLayout>
</ScrollView>
9 respostas

Giovanni, tudo bem ?

Cara primeiro, o emulador que você está utilizando está conseguindo exibir todos os elementos ? Caso sim, isso explicaria o motivo de não estar funcionando.. Tenta criar um emulador com tela menor e vê se o resultado muda um pouco.

Outra coisa, você pode remover isso tudo :


    android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        tools:context="com.example.giovanni.agenda2.FormularioActivity"
        tools:showIn="@layout/activity_formulario"

`

Isso ai para o nosso exemplo não faz tanto sentido

Abraços

Quando eu aplico a scrollview, e no emulador eu viro a tela, ele não exibe o primeiro campo que seria o nome do aluno. E não consigo fazer a rolagem.

Giovanni,

Consegue mandar um print para entender o que está rolando, por favor ?

Oi Giovanni,

Cara tira uma dúvida para mim, qual é a estrutura do seu projeto ?

Digo em pastas, se conseguir me mandar um print fica mais fácil.

Eu tô imaginando que na hora de você criar o projeto você pegou a configuração errada, mas só para ter certeza vou ver como as coisas estão e daí te falo como prosseguir.

Abraços

Segue o print das pastas. https://postimg.org/image/fhf1o82k9/

Da uma olhada se você possui dois arquivos de layout para o formulário!

E vê na sua activity qual é a view principal-- setContentView

No pacote layout, tenho 4 arquivos xml. activity_formulario.xml activity_tela_aluno.xml content_formulario.xml content_tela_aluno.xml

Agora nas class de cada activity o setContentView esta apontando pra cada uma mesmo. na class TelaAlunoActivity está assim:

setContentView(R.layout.activity_tela_aluno);

na class Formulario:

setContentView(R.layout.activity_formulario);
solução!

Pronto !

Descobrimos o problema.

Na hora que você está criando as suas activities você está utilizando uma modelagem que não usamos no curso.

Tem um post meu que eu falo um pouco sobre isso :

http://blog.alura.com.br/entendendo-o-que-e-gerado-pelo-android-studio/

O correto, para gente no curso, é você ter apenas o arquivo activity_nomeDaActivity. Para você solucionar isso de maneira simples, copia o conteúdo dos arquivos contents e substitui nos originais e em seguida pode deletar os contents.

Abraços