Saltar para conteúdo


Foto
- - - - -

HorizontalScrollView como saber se há + items a mostrar?


  • Por favor inicie sessão para responder
3 respostas a este tópico

#1 tmma

tmma

    Membro

  • Membros
  • PipPip
  • 19 mensagens

Mensagem publicada 02 May 2011 - 08:47

Ola minha gente,É o seguinte, tenho um horizontalscrollview como definido abaixo, e pretendia mostrar umas setas se houver opções para a direita ou para a esquerda. Acontece que o scrollview não tem nenhum listener onScroll (???) o que impossibilita que eu consiga saber quando este atinge o fim ou está no inicio. O meu scrollview está definido da seguinte forma:
<TableRow android:layout_width="fill_parent" android:id="@+id/tableRow"        android:layout_height="wrap_content" android:orientation="horizontal">        <TextView             android:layout_width="wrap_content"             android:layout_height="fill_parent"            android:text="«««"            android:id="@+id/hasBackItems"            android:textColor="#ffffff" android:layout_weight="1">        </TextView>                <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"            android:layout_width="400dp"            android:layout_height="wrap_content"            android:id="@+id/menuScroll" android:layout_gravity="center_horizontal" android:layout_weight="1">            <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"                android:orientation="horizontal" android:layout_width="fill_parent"                android:layout_height="wrap_content" android:id="@+id/lLayoutScroll">            </LinearLayout>        </HorizontalScrollView>                <TextView             android:layout_width="wrap_content"             android:layout_height="fill_parent"            android:text="»»»"            android:id="@+id/hasFrontItems"            android:textColor="#ffffff" android:layout_weight="1">        </TextView>    </TableRow>
(no codigo java é onde eu adiciono dinamicamente botões ao linearlayout dentro do horizontalScrollView) O que eu consigo fazer é através do listener setOnTouchListener mostrar ou esconder as setas consoante a sua posição inicial, mas acontece que se eu fizer com que o scroll mova sozinho (se fizer scroll e levantar o dedo), ele vai acabar no fim ou no inicio e aí não esconde as setas, porque o listener apenas reage ao toque.Então, é possível implementar o que pretendo de outra forma?Há maneira de desactivar o scroll automático? Esta seria uma forma, ainda que pouco elegante... http://www.androidpt...tyle_emoticons/AndroidSmall/emo_im_foot_in_mouth.png

#2 andresteves

andresteves

    Membro

  • Membros
  • PipPip
  • 146 mensagens

Mensagem publicada 04 May 2011 - 10:55

Ola minha genteÉ o seguinte, tenho um horizontalscrollview como definido abaixo, e pretendia mostrar umas setas se houver opções para a direita ou para a esquerda. Acontece que o scrollview não tem nenhum listener onScroll (???) o que impossibilita que eu consiga saber quando este atinge o fim ou está no inicio. O meu scrollview está definido da seguinte forma:[code'] [/code](no codigo java é onde eu adiciono dinamicamente botões ao linearlayout dentro do horizontalScrollView) O que eu consigo fazer é através do listener setOnTouchListener mostrar ou esconder as setas consoante a sua posição inicial, mas acontece que se eu fizer com que o scroll mova sozinho (se fizer scroll e levantar o dedo), ele vai acabar no fim ou no inicio e aí não esconde as setas, porque o listener apenas reage ao toque.Então, é possível implementar o que pretendo de outra forma?Há maneira de desactivar o scroll automático? Esta seria uma forma, ainda que pouco elegante... :(

Boas,Não entendi muito bem o pretendido mas creio que é ao teres um menu com botoes gostavas de saber se o utilizador possui mas opções quer pro lado esquerdo quer pro lado direito e querias que essas indicações aparecessem no ecran, correcto?Podes tentar as soluções apresentadas aqui:Need Help On the Scrolling Bar in Androidauto-scroll-to-end-when-new-views-are-addedNao tem nada a ver com o assunto mas no teu codigo para ficar mais comum mete antes assim[code type=xml] [/code]

#3 tmma

tmma

    Membro

  • Membros
  • PipPip
  • 19 mensagens

Mensagem publicada 10 May 2011 - 07:54

Obrigado pelo feedback.Sim o que pretendo é mesmo isso, ter umas setas indicadores se há mais items à direita ou à esquerda.

Podes tentar as soluções apresentadas aqui:Need Help On the Scrolling Bar in Androidauto-scroll-to-end-when-new-views-are-added

Estas opções são para outros fins. Julgo que o que pretendo só seria possível se conseguisse ter acesso a um listener onScroll. Mas infelizmente parece não existir nada do género... ;)

#4 adriano.web

adriano.web

    Novato

  • Membros
  • Pip
  • 1 mensagens

Mensagem publicada 08 December 2011 - 12:38

Bom dia amigo.Tem como voce postar p/ gente ter uma ideia como voce cria botao dinamicamente pelo java na sua aplicação.Muito interessante.Abraços