Je développe l'application comme Galerie d'images avec des images récupérées sur le web. Toutes les images ont la même largeur 200px
et la hauteur 280-300px
. J'utilise RecyclerView
avec Adapter.ViewHolder
et GridLayoutManager
avec le nombre de travées = 2. Images de chargement avec Picasso
bibliothèque.Comment rendre l'application Image Gallery identique sur TOUTES les tailles d'écran?
item_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<ImageView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tile_picture"
android:layout_width="match_parent"
android:layout_height="260dp"
android:layout_margin="1dp"
android:scaleType="centerCrop"/>
Sur mon appareil 5" 720x1280
il est l'air bien. Screenshot Mais quand je lance l'application sur d'autres appareils, ça ne semble pas si bon ... Sur 5.5" 1080x1920
il y a des marges supplémentaires entre les images. Sur le vieil 3.7" 480x800
il y a seulement une travée, largeur un peu plus, que la taille d'un demi-écran. Je suggère, parce que android:layout_height="260dp"
codé en dur. Alors, comment puis-je obtenir le même look sur différents appareils?
Merci pour cette idée. Au lieu de cela, je viens d'essayer '@Override public TopViewHolder onCreateViewHolder (ViewGroup parent, int viewType) { Voir vue = LayoutInflater.from (mContext) .inflate (R.layout.main_tile_item, parent, false); int largeur = (parent.getMeasuredWidth()/2) - 4; int height = (int) (largeur * 1,5); view.setMinimumHauteur (hauteur); Renvoyer un nouveau TopViewHolder (voir); } 'Et cela semble fonctionner! –