2013-02-28 2 views
-1

Im Recherche du meilleur itinéraire pour corriger mes mises en page pour la taille d'écran multiple sur Android. J'ai une excellente application qui est presque prête pour le lancement .. Cependant un de mes partenaires l'a essayé sur une tablette Samsung et les icônes et certaines fonctionnalités sont trop petitesPrise en charge de plusieurs écrans dans android

Alors ce que je pensais faire je change la résolution à l'écran taille ou existe-t-il une méthode plus simple?

Voici mon code de disposition Any Suggestion will help?


<?xml version="1.0" encoding="utf-8"?> 
<merge xmlns:tools="http://schemas.android.com/tools" 
xmlns:pj="http://schemas.android.com/apk/res/com.example.waysecure" 
xmlns:bm="com.example.waysecure" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical"  xmlns:android="http://schemas.android.com/apk/res/android"> 
<Button 
    android:id="@+id/button_pannic" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/pannic" 
    android:visibility="visible" /> 
<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_gravity="bottom" 
    android:layout_marginTop="50dp" > 
    <WebView 
     android:id="@+id/webView1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <FrameLayout 
     android:id="@+id/Fofo" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 
    </FrameLayout> 
    </RelativeLayout> 
<SlidingDrawer 
android:id="@+id/sg_below" 
android:layout_width="match_parent" 
android:layout_height="275dp" 
android:layout_gravity="bottom" 
android:layout_marginTop="200dp" 
android:content="@+id/content" 
android:handle="@+id/handle" > 
<Button android:layout_width="match_parent" android:layout_height="60dp" android:id="@+id/handle" android:background="@drawable/tray_handle_normal" /> 
<RelativeLayout 
    android:id="@+id/content2" 
    android:layout_width="wrap_content" 
    android:layout_height="282dp" 
    android:background="#aa000000" > 
     </RelativeLayout><TabHost android:id="@+id/content" android:layout_width="match_parent" android:layout_height="match_parent"> 
    <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="match_parent" 
      android:layout_height="fill_parent" 
      android:layout_gravity="bottom" 
      android:background="#aa000000" > 
<LinearLayout android:id="@+id/tab1" android:layout_width="match_parent" android:layout_height="match_parent"> 


      </LinearLayout> 
       <GridView 
        android:id="@+id/tab2" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_gravity="bottom" 
        android:columnWidth="90dp" 
        android:gravity="center" 
        android:horizontalSpacing="1dp" 
        android:numColumns="auto_fit" 
        android:stretchMode="columnWidth" 
        android:verticalSpacing="1dp" > 
      </GridView> <LinearLayout android:id="@+id/tab3" android:layout_width="match_parent" android:layout_height="match_parent"> 
        <com.carouseldemo.controls.Carousel android:id="@+id/carousel2" android:layout_width="match_parent" android:layout_height="match_parent" android:animationDuration="200" pj:Items="@array/entries" pj:Names="@array/names" pj:SelectedItem="0" pj:UseReflection="true"> 
       </com.carouseldemo.controls.Carousel> 
      </LinearLayout> 
     </FrameLayout> 
    <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="top" > 
     </TabWidget> 
    </TabHost> 
</SlidingDrawer> 
</merge> 
+0

@Jhono James Placer les images appropriées dans tous les dossiers drawable selon les tailles. –

Répondre

1

La seule chose que vous devez faire est d'ajouter le <support-screens> dans votre manifest et ci-dessous les <support-screens>:

<supports-screens android:resizeable=["true"| "false"] 
       android:smallScreens=["true" | "false"] 
       android:normalScreens=["true" | "false"] 
       android:largeScreens=["true" | "false"] 
       android:xlargeScreens=["true" | "false"] 
       android:anyDensity=["true" | "false"] 
       android:compatibleWidthLimitDp="integer" 
       android:largestWidthLimitDp="integer"/> 

Conseils pour créer dispositions cohérentes:

  1. Dont dur -code layout paramètres tels que width, height, etc ..
  2. Dont utiliser "px" .Utilisation "sp" Taille du texte et "dp" pour layout-width, layout-height etc.
  3. Faire usage de RelativeLayout et LinearLayout et à ne pas utiliser AbsoluteLayout comme il est dépréciée.
  4. Utilisez ScrollView partout où cela est requis pour layouts car il prend en charge un singleView.

Pour plus d'informations, consultez les documents relatifs aux développeurs Android de Support Multiple Screens.

4

Vous devez placer des dispositions supplémentaires dans le dossier res pour différents écrans.

Si vous souhaitez 7 inch Créer un dossier de mise en page nom res comme layout-sw720dp

Pour créer 10 inchlayout-xlarge

copier les fichiers de tous layout dossier et coller des fichiers et ajuster la taille.

convertir et tester avec tous les écrans.

S'il vous plaît se référer lien pour plus d'écran de

http://developer.android.com/guide/practices/screens_support.html

1

Je configuré une manière pour cela. Pour moi, c'était une méthode à succès. Le même problème m'est arrivé quand je développais mon first android application mais à la fin, je l'ai cloué. Pour soutenir toutes les résolutions d'écran parfaitement, dans le cas d'une image plein écran, faire 4 images de différentes résolutions:

hdpi: 480*800 
ldpi: 320*460 
mdpi:720*960 
xhdpi: 800*1280 

si votre application prend en charge les deux orientations, puis faire une présentation différente pour le mode paysage et placez-le avec le même nom dans la disposition des terres et des informations connexes peuvent être trouvés sur ce link.

+0

merci cela a aidé – JonoJames

1

Vous devez créer le dossier layout_size dans le dossier res

pour les écrans de taille différente créer des fichiers xml diffrent.

0

s'il vous plaît reffer this..it peut aider you..fend device screens and resolutions

Questions connexes