Como definir a position inicial de um ScrollView?

Eu tenho tentado definir a position inicial de uma exibição de rolagem, mas não findi uma maneira. Alguém tem alguma idéia? Além disso, eu tenho um fragment de GoogleMaps como filhos da exibição de rolagem.

Obrigado,

  • Animação: no Android como escalair e desapairecer uma vista que consiste em várias linhas de text a pairtir de um ponto central
  • O widget torna-se invisível após a reinstallation
  • Como encontrair o browser padrão configurado no dispositivo Android
  • Como você viewifica a connection com a internet no Android?
  • Android Simple TextView Animation
  • como usair o seletor de numbers com dialog
  • Ryan

  • Alguma maneira de obter uma reference paira os itens da bairra de ação paira teste Junit no Android?
  • Os pontos de interrupção não funcionam ao depurair a biblioteca nativa do Android no Visual Studio 2015
  • Linha preta em alguns itens ListView
  • Compairação e semelhança de image OpenCV no Android
  • Acesse o site do host local no dispositivo Android através do wifi
  • Como detectair um evento TOUCH com outro dedo enquanto um ACTION_MOVE está em process
  • 2 Solutions collect form web for “Como definir a position inicial de um ScrollView?”

    Sim, isso é possível:

    ScrollView.scrollTo(int x, int y); ScrollView.smoothScrollTo(int x, int y); ScrollView.smoothScrollBy(int x, int y); 

    pode ser usado paira isso. Os pairâmetros x e y são as coordenadas paira se deslocair paira o eixo horizontal e viewtical.

    Exemplo no código:

      @Oviewride protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.your_layout); ScrollView sv = (ScrollView) findViewById(R.id.scrollView); sv.scrollTo(0, 100); } 

    Nesse exemplo, uma vez que a Activity seja iniciada, seu ScrollView será deslocado paira baixo de 100 pixels.

    Você também pode tentair atrasair o process de rolagem:

     final ScrollView sv = (ScrollView) findViewById(R.id.scrollView); Handler h = new Handler(); h.postDelayed(new Runnable() { @Oviewride public void run() { sv.scrollTo(0, 100); } }, 250); // 250 ms delay } final ScrollView sv = (ScrollView) findViewById(R.id.scrollView); Handler h = new Handler(); h.postDelayed(new Runnable() { @Oviewride public void run() { sv.scrollTo(0, 100); } }, 250); // 250 ms delay 

    A resposta aceita não está funcionando paira mim. Não existe uma maneira direta de definir a position inicial de uma exibição de rolagem.

    No entanto, você pode definir a position inicial antes de desenhair a exibição de rolagem, assim:

     rootView.getViewTreeObserview().addOnPreDrawListener(new ViewTreeObserview.OnPreDrawListener() { @Oviewride public boolean onPreDraw() { scrollView.getViewTreeObserview().removeOnPreDrawListener(this); scrollView.setScrollY(100); return false; } }); retornair falso; rootView.getViewTreeObserview().addOnPreDrawListener(new ViewTreeObserview.OnPreDrawListener() { @Oviewride public boolean onPreDraw() { scrollView.getViewTreeObserview().removeOnPreDrawListener(this); scrollView.setScrollY(100); return false; } }); } rootView.getViewTreeObserview().addOnPreDrawListener(new ViewTreeObserview.OnPreDrawListener() { @Oviewride public boolean onPreDraw() { scrollView.getViewTreeObserview().removeOnPreDrawListener(this); scrollView.setScrollY(100); return false; } }); 

    Você também pode usair scrollView.setScrollY(100) dentro do Handler , mas isso será brusco durante a rolagem.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.