2012-03-28 10 views
31

Im avendo un problema in cui la scrollview android inizia a nascondere un paio di visualizzazioni di testo che ho nella parte superiore del mio layout, ho trovato un'altra persona su questo stesso sito che ha avuto quel problema ed è stato in grado di ottenere aiuto sfortunatamente la persona che li ha aiutati in realtà non ha detto cosa lo risolve, qualcuno può dirmi qual è stata la soluzione qui?Scrollview per Android che nasconde il contenuto in primo piano nel layout

android scrollview hiding top content

qualsiasi aiuto sarebbe enorme qui è il mio codice XML:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@color/title_color_dark_transparent" > 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="center_vertical|center_horizontal|center" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_gravity="center" 
     android:layout_marginLeft="8dp" 
     android:layout_marginRight="8dp" 
     android:layout_marginTop="5dp" 
     android:orientation="vertical" 
     android:paddingTop="5dp" > 

     <TextView 
      android:id="@+id/saysomething" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/loading" 
      android:textColor="#FFFFFF" 
      android:textSize="30dp" /> 

     <TextView 
      android:id="@+id/saysomethinginfo" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:text="@string/loading" 
      android:textColor="#FFFFFF" 
      android:textSize="17dp" /> 

     <EditText 
      android:id="@+id/tweetedittext" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/edit_text" 
      android:gravity="top" 
      android:hint="@string/edittext_hint" 
      android:inputType="textCapSentences|textMultiLine|textAutoCorrect|textAutoComplete" 
      android:lines="3" 
      android:textAppearance="@style/TextAppearance.EditText" 
      android:textSize="17dp" /> 

     <RelativeLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginTop="5dp" 
      android:orientation="horizontal" > 

      <Button 
       android:id="@+id/photobutton" 
       style="@style/TextAppearance.Button" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/button_background" 
       android:onClick="photobuttonClicked" 
       android:text="@string/photobuttontext" 
       android:textSize="15dp" /> 

      <TextView 
       android:id="@+id/charactersremaining" 
       android:layout_width="wrap_content" 
       android:layout_height="fill_parent" 
       android:layout_centerInParent="true" 
       android:layout_toLeftOf="@+id/posttweetbutton" 
       android:text="@string/characters" 
       android:textColor="#FFFFFF" 
       android:textSize="20dp" /> 

      <Button 
       android:id="@id/posttweetbutton" 
       style="@style/TextAppearance.Button" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_marginLeft="2dp" 
       android:background="@drawable/button_background" 
       android:onClick="posttweetbuttonClicked" 
       android:text="@string/postbuttonstext" 
       android:textSize="15dp" /> 
     </RelativeLayout> 
    </LinearLayout> 

    <TextView 
     android:id="@+id/photodetails" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="" 
     android:textColor="#FFFFFF" 
     android:textSize="17dp" 
     android:layout_marginTop="8dp" 
     android:layout_marginLeft="8dp" /> 

    <ImageView 
     android:id="@+id/iv_pic" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="8dp" 
     android:layout_marginRight="8dp" /> 
</LinearLayout> 

</ScrollView> 
+1

non riesco a vedere alcun TextViews sopra la ScrollView. Ti manca anche il tuo tag di chiusura sul tuo ScrollView. – kabuko

+0

sembra che non abbia commentato erroneamente il tag di chiusura per la scrollview ma è lì ora, le visioni di testo sono le prime che si vedono all'interno del layout lineare, posizionando le visualizzazioni di testo al di fuori del layout lineare mi dà un errore perché apparentemente non puoi avere più di un bambino nella scrollview –

+0

Ho pensato che non vuoi che il tuo ScrollView nasconda quelle TextViews? Forse dovresti spiegare che aspetto vuoi che sia il layout, perché non è molto chiaro per me. – kabuko

risposta

92

Trovato! È il android:layout_gravity="center" nel LinearLayout che è il colpevole. Basta cancellare questo e tutto dovrebbe andare bene.

+0

Grazie per questo - ha funzionato per me in un istanza di questo problema. –

+0

@Edmund Rojas: accetta la risposta giusta .. – Deepzz

+5

Funziona, e se hai ancora bisogno di centrare la vista all'interno usa questa soluzione: http://pivotallabs.com/centering-a-view-within-a-crollview/ – Takhion

0

tuo esterno LinearLayout ha la sua altezza impostato match_parent. Dovrebbe essere invece wrap_content. Anche l'interno LinearLayout deve avere l'altezza wrap_content.

+0

Ho provato questo, ma purtroppo non ha funzionato:/ –

0

Aggiungi android: layout_weight = "1" alla tua scrollview. Risolverà il problema. Qualcosa di simile

<ScrollView 
     android:id="@+id/scroll" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" android:layout_weight="1" > 
3

Hai provato impostazione

android: fillViewport = "true"

nel ScrollView?

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:fillViewport="true" 
    android:background="@color/title_color_dark_transparent" > 
+0

Ha funzionato qui, grazie –

1

È possibile scorrere a livello di programmazione.

  1. Rimuovere Android: proprietà layout_gravity da XML
  2. Aggiungi scorrendo fino onResume funzione

Alcuni codice dal mio progetto:

protected void onResume() { 
    super.onResume(); 
    final HorizontalScrollView svInMenu = (HorizontalScrollView) findViewById(R.id.svInMenu); 
    ViewTreeObserver vto = svInMenu.getViewTreeObserver(); 
    vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 
     public void onGlobalLayout() { 
      svInMenu.scrollTo(svInMenu.getRight()/4, 0); 
     } 
    }); 
} 
Problemi correlati