2016-04-13 6 views
0

Il semble que certains problèmes apparaissent sur l'affichage de mon application lorsque je l'exécute sur d'anciens appareils. Voici ce que j'observe.Détecter si le téléphone est vieux/NEXUS4 pour éviter les problèmes d'affichage

1) Lorsque j'ouvre mon application dans les téléphones récents (au-dessus de NEXUS 5) l'écran du dialogue que je montre apparaît correctement tous les éléments sont là. Ils sont tous définis avec une hauteur de "WRAP_CONTENT".

2) Lorsque je lance mon application dans NEXUS 4, la boîte de dialogue apparaît coupée, même s'il reste de l'espace sur l'écran ... Pour quelque raison que ce soit, le "WRAP_CONTENT" ne fonctionne pas ... Je règle la hauteur de la boîte de dialogue, puis elle fonctionne (j'essaie de configurer la hauteur du bouton et le framelayout sans succès).

Une idée de ce qui me manque là? Si vous me conseillez de régler la hauteur programmatique, alors mes problèmes deviennent comment savoir si l'utilisateur utilise un ancien appareil ou non pour que quand il est je définis la fenêtre pop-up prenant l'écran entier sinon ...

J'ai inclus une capture d'écran de ce que je vois sur téléphone récent (juste en dessous, vous pouvez voir le bouton complètement cool) et ce que je vois sur NEXUS4 (deuxième capture d'écran vous pouvez seulement voir le début du bouton cool ...)

what I have on recent phone What I see on NEXUS 4

et au-dessous est le XML J'utilise

<?xml version="1.0" encoding="utf-8"?> 

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/popup_swiperewards_flMainwindow" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 
     android:layout_margin="32dp" 
     android:id="@+id/popup_swiperewards_llMaincontainer" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:orientation="vertical" 
     android:background="#DD000000"> 

     <TextView 
      android:id="@+id/popup_swiperewards_tvUsername" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:text="USER NAME" 
      android:textColor="@android:color/white" 
      android:textStyle="bold" /> 

     <ImageView 
      android:id="@+id/popup_swiperewards_ivSeparator1" 
      android:scaleType="fitXY" 
      android:gravity="center" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:src="@drawable/stripe_separator" /> 

     <pro.appus.takemeout.ui.views.ViewPagerWrapContent 
      android:id="@+id/popup_swiperewards_vpAwardcontainer" 
      android:gravity="center" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 

     <com.viewpagerindicator.CirclePageIndicator 
      android:id="@+id/popup_swiperewards_cpiCircleindicator" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      app:fillColor="#FFFFFF" 
      app:pageColor="@android:color/transparent" 
      app:radius="6dp" 
      app:strokeColor="#FFFFFF" 
      app:strokeWidth="1dp" /> 

     <ImageView 
      android:id="@+id/popup_swiperewards_ivSeparator2" 
      android:scaleType="fitXY" 
      android:gravity="center" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:src="@drawable/stripe_separator" /> 

     <TextView 
      android:id="@+id/popup_swiperewards_tvComeagain" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:text="Come again tomorrow \n to collect %d TMO" 
      android:textAllCaps="true" 
      android:textColor="@android:color/white" 
      android:textStyle="bold" /> 

     <FrameLayout 
      android:id="@+id/popup_swiperewards_btnCoolContainer" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 
      <Button 
       android:id="@+id/popup_swiperewards_btnCool" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:includeFontPadding="true" 
       android:background="@drawable/appsettings_button_silver" 
       android:text="Cool" 
       android:textAllCaps="true" 
       android:textColor="@android:color/white" /> 
     </FrameLayout> 
    </LinearLayout> 
</FrameLayout> 

Répondre

0

J'ai trouvé l'erreur, il était dans le code là où la marge était trop grand pour cet écran ...

<LinearLayout 

     **android:layout_margin="32dp"** 

     android:id="@+id/popup_swiperewards_llMaincontainer" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:orientation="vertical" 
     android:background="#DD000000">