2012-03-28 8 views
31

Ich habe ein Problem, wo die Android-Scrollview beginnt, ein paar Textviews zu verstecken Ich habe an der Spitze meines Layouts, habe ich eine andere Person auf dieser Website gefunden, die dieses Problem hatte und konnte Hilfe bekommen, leider hat die Person, die ihnen geholfen hat, nicht wirklich gesagt, was es repariert, kann mir jemand sagen, was war das Problem hier?Android scrollview verdeckt Top-Inhalt im Layout

android scrollview hiding top content

jede Hilfe hier sehr groß sein würde, ist mein xml-Code:

<?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

ich nicht irgendwelche Textviews über den Scroll zu sehen. Sie verpassen auch Ihr schließendes Tag in Ihrer ScrollView. – kabuko

+0

scheint wie fälschlicherweise nicht in der schließenden Tag für die Scrollview kommentieren, aber es ist jetzt, die Textansichten sind die ersten, die Sie innerhalb des linearen Layouts sehen, die Textansichten außerhalb des linearen Layouts gibt mir einen Fehler, weil Sie offenbar nicht mehr haben können als ein Kind in der Scrollview –

+0

Ich dachte, du willst nicht, dass deine ScrollView diese TextViews versteckt? Vielleicht solltest du erklären, wie das Layout tatsächlich aussehen soll, weil es mir nicht klar ist. – kabuko

Antwort

92

Gefunden es! Es ist die android:layout_gravity="center" in der LinearLayout, die der Schuldige ist. Löschen Sie das einfach und alles sollte in Ordnung sein.

+0

Danke dafür - arbeitete für mich in einem Instanz dieses Problems. –

+0

@Edmund Rojas: Akzeptieren Sie die richtige Antwort .. – Deepzz

+5

Works, und wenn Sie immer noch die Ansicht in der Mitte verwenden müssen, verwenden Sie diese Problemumgehung: http://pivotallabs.com/centering-a-view-within-a-scrollview/ – Takhion

0

Ihre äußere LinearLayout hat match_parent seine Höhe eingestellt. Es sollte stattdessen wrap_content sein. Die innere LinearLayout sollte auch Höhe wrap_content haben.

+0

Ich versuchte dies, aber leider nicht funktioniert:/ –

0

Fügen Sie android: layout_weight = "1" zu Ihrem Scrollview hinzu. Es wird das Problem lösen. So etwas wie das

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

Haben Sie versucht,

android Einstellung: in der Scroll fillViewport = "true"

?

+0

Es hat hier funktioniert, danke –

1

Sie können programmgesteuert blättern.

  1. Remove android: layout_gravity Eigenschaft von xml
  2. hinzufügen Scrollen onResume Funktion

Einige Code von meinem Projekt:

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); 
     } 
    }); 
}