Vue dans le ScrollView n'est pas de correspondance parent tel qu'il est configuré

J'ai un ViewPager et une ActionBar avec des onglets. L'un de ces onglets a une ListView et quand j'ai appuyer sur l'une des options dans cette Liste, j'ai ajouter un Fragment qui est la vue de détail de la ligne.

Que la vue de détail est un ScrollView avec un LinearLayout à l'intérieur. La ScrollView est match_parent/match_parent et le LinearLayout à l'intérieur, il est width=match_parent et height=wrap_content. Sur un téléphone de la taille de l'émulateur, la vue de détail remplit l'écran comme vous le souhaitez, mais sur une tablette, la vue de détail couvre seulement une partie de la largeur de l'écran... même si la largeur de la ScrollView et la largeur de la LinearLayout sont à la fois match_parent.

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rootView" style="@style/RootScrollView">

    <LinearLayout android:id="@+id/scrollContentView" style="@style/ScrollViewContent">
        ...
    </LinearLayout>
</ScrollView>

Ici est le style pour le défilement de l'affichage:

<style name="RootScrollView">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">match_parent</item>
</style>

Ici est le style du contenu LinearLayout:

<style name="ScrollViewContent">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:paddingLeft">15dp</item>
    <item name="android:paddingRight">15dp</item>
    <item name="android:orientation">vertical</item>
    <item name="android:background">@drawable/image_legal_paper_tile</item>
</style>

L'affichage du contenu a une répétition de fond image_legal_paper_tile qui est-ce:

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/legal_paper_tile" 
    android:gravity="fill_horizontal"
    android:tileMode="repeat" />

Ainsi, l'image devrait s'étirer horizontalement et répéter ce qui crée un jaune juridique de papier pad à l'arrière-plan.

C'est ce que la liste et la vue de détail ressembler à l'émulateur de téléphone:

Vue dans le ScrollView n'est pas de correspondance parent tel qu'il est configuré

C'est ce que la liste et le détail de la vue comme sur une vraie tablette. Le jaune juridique pad fragment DOIT remplir toute la largeur de l'écran, mais il ne l'est pas.

Vue dans le ScrollView n'est pas de correspondance parent tel qu'il est configuré

EDIT:

Ici est l'arrière-plan de papier légal de l'image:

Vue dans le ScrollView n'est pas de correspondance parent tel qu'il est configuré

C'est 320px de large. L'émulateur de téléphone est 480px de large et l'image s'étire, correctement, pour remplir la largeur de l'écran. Il répète ensuite à la verticale comme prévu. Cependant, il n'est pas d'étirement pour remplir la largeur de l'écran sur la tablette.

La largeur indiquée sur la tablette n'est PAS la taille d'origine de l'image, parce qu'il change de taille en fonction du contenu. Lorsque le fragment de la première charge, il est l'un de largeur. Puis-je remplir les champs et exécuter le calcul qui ajoute du texte au bas de l'affichage du contenu. Que le texte est plus large que le contenu existant, et donc quand le texte est de définir la largeur du fragment augmente à l'appui de l'ensemble du contenu.

Donc, en bref, non, la largeur de la tablette n'est pas la taille d'origine de l'image. L'image EST d'étirement, juste ne pas étirer tout le chemin.

  • Utilisez seulement une mise en page pour toutes les tailles de couches? Quelle est la taille de votre image d'arrière-plan? Est l'image d'arrière-plan de la taille de ce qui est vu sur la tablette? Alors il peut être une tuile répéter (pour que peut-être vérifier ce link).
  • La largeur indiquée sur la tablette n'est PAS la taille d'origine de l'image, parce qu'il change de taille en fonction du contenu. Lorsque le fragment de la première charge, il est l'un de largeur. Puis-je remplir les champs et exécuter le calcul qui ajoute du texte au bas de l'affichage du contenu. Que le texte est plus large que le contenu existant, et donc quand le texte est de définir la largeur du fragment augmente à l'appui de l'ensemble du contenu.
  • si vous avez utilisé la disposition de la marge linéaire de la mise en page de défilement de l'enfant, vous devez modifier le rembourrage pour les travaux la vraie.
InformationsquelleAutor Kenny Wyland | 2013-03-17