J'ai un problème où le Android scrollview commence à cacher une paire de vues de texte que j'ai en haut de ma mise en page, j'ai trouvé une autre personne sur ce site même qui a eu ce problème et a pu obtenir aider malheureusement la personne qui les a aidés n'a pas vraiment dit ce qui le corrige, quelqu'un peut-il me dire quel était le correctif ici?
Android scrollview cachant le contenu supérieur
toute aide serait énorme voici mon code 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>
Je l'ai trouvé! C'est le Android:layout_gravity="center"
dans le LinearLayout
qui est le coupable. Supprimez simplement cela et tout devrait bien se passer.
Avez-vous essayé de régler
Android: fillViewport = "true"
dans 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" >
Vous pouvez faire défiler par programme.
Du code de mon projet:
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);
}
});
}
Votre LinearLayout
externe a sa hauteur définie sur match_parent
. Ça devrait être wrap_content
au lieu. Le LinearLayout
intérieur doit également avoir la hauteur wrap_content
.
Ajoutez Android: layout_weight = "1" à votre vue de défilement. Cela résoudra le problème. Quelque chose comme ça
<ScrollView
Android:id="@+id/scroll"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content" Android:layout_weight="1" >