Pourquoi y a-t-il un espace blanc vide sous certaines applications?

11

Cela semble se produire dans n'importe quelle application qui utilise une sorte d'affichage des commentaires.

Voici quelques images. (désolé ce ne sont pas des captures d'écran, je ne pense pas que ce soit possible sans root)

Youtube
Reddit Sync

Cela se produit également avec toutes les autres applications Reddit sur le marché. Tous ont exactement le même problème lors de l'affichage des commentaires.

Je suppose qu'il y a un contrôle d'interface utilisateur en commun entre eux, quelque chose qui répertorie les zones de texte en lecture seule, mais je ne suis pas un développeur Android, donc je ne sais pas vraiment.

J'utilise un Motorola Atrix 2 d'AT & T avec une ROM d'origine.

Corey
la source
Bizarre. Je ne sais pas quoi suggérer. Il semble que ce soit la couleur d'arrière-plan de l'application. Habituellement, les développeurs définissent explicitement cela ou utilisent un thème (par exemple, Holo). Peut-être qu'ils utilisent un thème et que la ROM ne le charge pas correctement? (Parce que les thèmes font partie du système d'exploitation, pas de l'application).
Bryan Denny
@BryanDenny: C'est en fait le thème par défaut sur les appareils BLUR de Motorola. C'est vraiment bizarre mais ils l'ont fait intentionnellement.
eldarerathis
@eldareathis je suppose que l'application utilise le thème Dark par défaut .... pourtant Moto Blur ne le rend pas sombre ???
Bryan Denny

Réponses:

10

Pour autant que je sache, c'est exactement la façon dont Motorola a conçu son interface BLUR. Voir, par exemple, cette capture d'écran d' un article de blog sur le site de développement de Motorola :

entrez la description de l'image ici

Cela apparaît essentiellement partout où un développeur utilise un ListViewobjet, ce qui est assez courant car c'est la façon native d'afficher ... enfin, une liste de choses (correctement nommé, non?). Motorola décrit son raisonnement comme tel:

Le fond gris au bas de la liste est hérité du thème de l'appareil. Son but est de montrer aux utilisateurs où se termine la liste.

Dans votre cas, le gris est plutôt blanc (ce que j'ai également vu sur le Droid X), mais le même concept s'applique.

Si vous voulez vous en débarrasser, vous devez fondamentalement recomposer votre appareil et vous débarrasser de l'interface utilisateur BLUR, ce qui n'est généralement pas possible sans enracinement et en utilisant une ROM personnalisée en raison de son intégration étroite dans le système. Alternativement, vous pouvez envoyer un e-mail au développeur et lui demander poliment de retitrer le ListView, car il a la possibilité de remplacer explicitement le thème par défaut s'il le souhaite. Qu'ils pensent ou non que cela vaut la peine, l'effort est en quelque sorte hors de votre contrôle à ce moment-là.

eldarerathis
la source
2
Ugh, donc j'avais raison. C'est tout simplement horrible. De nombreux développeurs supposent les couleurs par défaut lorsqu'ils utilisent un thème, pas pour qu'une ROM les gâche.
Bryan Denny
Cela a du sens, merci. Je n'ai pu trouver aucune page de mes recherches concernant ce problème ailleurs. Je sais que certaines des applications que j'utilise sont en développement actif et très réceptives aux commentaires des utilisateurs, je leur enverrai donc un e-mail sur le problème.
Corey
À noter également, j'obtiens une couleur grise si j'utilise un thème clair et une couleur blanche si j'utilise un thème sombre.
Corey
1

Les développeurs n'ont pas nécessairement à recomposer le ListView pour résoudre ce problème - cela peut également être fait en ne forçant pas le ListView à remplir l'écran. Le problème est sur le ListView ci-dessous - si layout_weight = "1", ou layout_height = "fill_parent", alors le ListView prend tout l'espace inutilisé et vous obtenez le laid fond blanc. Définir layout_height sur "envelopper le contenu" et se débarrasser du poids résout le problème.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

<ListView android:id="@+id/statsList"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"/>

</LinearLayout>
TimK
la source