2016-04-13 64 views
0

當我在舊設備上運行應用程序時,看起來應用程序顯示屏上出現了一些問題。這是我觀察到的。檢測手機是否老化/ NEXUS4以避免顯示問題

1)當我打開我的應用程序在最近的手機(NEXUS 5以上),我所顯示的對話框的屏幕顯示正確所有的元素都在那裏。它們都以「WRAP_CONTENT」的高度定義。

2)當我在NEXUS 4中運行我的應用程序時,即使屏幕上仍有空間,對話框也會被剪切......不管是什麼原因,它看起來像「WRAP_CONTENT」不起作用......但如果我設置對話框程序的高度然後它正在工作(我嘗試設置按鈕的高度和framelayout沒有成功)。

任何想法我在那裏失蹤?如果你建議我設置高度programmaticaly,那麼我的問題變成如何知道用戶是否使用舊設備,以便當他是我定義彈出時採取整個屏幕,否則不...

我已經收錄了我在最近的手機上看到的一個屏幕截圖(就在下面,你可以看到完全的按鈕酷)以及我在NEXUS4上看到的內容(第二張截圖,你只能看到按鈕的開始很酷......)

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

以下是我使用

的XML 10
<?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> 

回答

0

我發現了錯誤,它是在代碼那裏的利潤率是太大了屏幕...

<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">