2016-03-11 4 views
0
<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="com.andrewfinlay.vectorcalculator.MainActivity" 
       tools:showIn="@layout/activity_main"> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="0" 
     android:password="false" 
     android:phoneNumber="false" 
     android:textAlignment="center" 
     android:id="@+id/resultOutput" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentEnd="true" 
     android:layout_alignParentStart="true" 
     android:textSize="30dp" 
     android:clickable="true" 
     android:textIsSelectable="true"/> 

    <GridLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/gridLayout" 
     android:layout_below="@+id/resultOutput" 
     android:layout_alignParentEnd="true" 
     android:layout_marginBottom="50dp" 
     > 

     <EditText 
      android:layout_width="110dp" 
      android:layout_height="wrap_content" 
      android:inputType="number|numberDecimal" 
      android:ems="10" 
      android:id="@+id/x1" 
      android:layout_row="0" 
      android:layout_column="0" 
      android:hint="x1" 
      android:focusable="true" 
      android:nextFocusDown="@+id/x2"/> 
     <EditText 
      android:layout_width="110dp" 
      android:layout_height="wrap_content" 
      android:inputType="number|numberDecimal" 
      android:ems="10" 
      android:id="@+id/x2" 
      android:layout_row="0" 
      android:layout_column="1" 
      android:hint="x2" 
      android:focusable="true" 
      android:nextFocusDown="@+id/x3"/> 

     <EditText 
      android:layout_width="110dp" 
      android:layout_height="wrap_content" 
      android:inputType="number|numberDecimal" 
      android:ems="10" 
      android:id="@+id/x3" 
      android:layout_row="0" 
      android:layout_column="2" 
      android:hint="x3" 
      android:focusable="true" 
      android:nextFocusDown="@+id/y1"/> 

     <EditText 
      android:layout_width="110dp" 
      android:layout_height="wrap_content" 
      android:inputType="number|numberDecimal" 
      android:ems="10" 
      android:id="@+id/y1" 
      android:layout_row="1" 
      android:layout_column="0" 
      android:hint="y1" 
      android:focusable="true" 
     android:nextFocusDown="@+id/y2"/> 

     <EditText 
      android:layout_width="110dp" 
      android:layout_height="wrap_content" 
      android:inputType="number|numberDecimal" 
      android:ems="10" 
      android:id="@+id/y2" 
      android:layout_row="1" 
      android:layout_column="1" 
      android:hint="y2" 
      android:focusable="true" 
      android:nextFocusDown="@+id/y3"/> 

     <EditText 
      android:layout_width="110dp" 
      android:layout_height="wrap_content" 
      android:inputType="number|numberDecimal" 
      android:ems="10" 
      android:id="@+id/y3" 
      android:layout_row="1" 
      android:layout_column="2" 
      android:hint="y3" 
      android:focusable="true"/> 

     <Button 
      android:layout_width="100dp" 
      android:layout_height="35dp" 
      android:text="Add" 
      android:id="@+id/addButton" 
      android:layout_row="2" 
      android:layout_column="0" 
      android:background="#3F51B5" 
      android:textColor="#ffffff" 
      android:textSize="25sp" 
      android:layout_centerHorizontal="true" 
      android:layout_gravity="center" 
      android:layout_marginTop="10dp" 
      android:layout_marginRight="8dp"/> 

     <Button 
      android:layout_width="100dp" 
      android:layout_height="35dp" 
      android:text="Sub" 
      android:id="@+id/subButton" 
      android:layout_row="2" 
      android:layout_column="1" 
      android:background="#3F51B5" 
      android:textColor="#ffffff" 
      android:textSize="25dp" 
      android:layout_centerHorizontal="true" 
      android:layout_gravity="center" 
      android:layout_marginTop="10dp" 
      android:layout_marginRight="3dp"/> 

     <Button 
      android:layout_width="100dp" 
      android:layout_height="35dp" 
      android:text="Unit" 
      android:id="@+id/unitButton" 
      android:layout_row="2" 
      android:layout_column="2" 
      android:background="#3F51B5" 
      android:textColor="#ffffff" 
      android:textSize="25dp" 
      android:layout_centerHorizontal="true" 
      android:layout_gravity="center" 
      android:layout_marginTop="10dp" 
      /> 

     <Button 
      android:layout_width="100dp" 
      android:layout_height="35dp" 
      android:text="Cross" 
      android:id="@+id/crossButton" 
      android:layout_row="3" 
      android:layout_column="0" 
      android:background="#3F51B5" 
      android:textColor="#ffffff" 
      android:textSize="25dp" 
      android:layout_centerHorizontal="true" 
      android:layout_gravity="center" 
      android:layout_marginTop="10dp" 
      android:layout_marginRight="8dp"/> 

     <Button 
      android:layout_width="100dp" 
      android:layout_height="35dp" 
      android:text="Dot" 
      android:id="@+id/dotButton" 
      android:layout_row="3" 
      android:layout_column="1" 
      android:background="#3F51B5" 
      android:textColor="#ffffff" 
      android:textSize="25dp" 
      android:layout_centerHorizontal="true" 
      android:layout_gravity="center" 
      android:layout_marginTop="10dp" 
      android:layout_marginRight="3dp"/> 

     <Button 
      android:layout_width="100dp" 
      android:layout_height="35dp" 
      android:text="Mag" 
      android:id="@+id/magButton" 
      android:layout_row="3" 
      android:layout_column="2" 
      android:background="#3F51B5" 
      android:textColor="#ffffff" 
      android:textSize="25dp" 
      android:layout_centerHorizontal="true" 
      android:layout_gravity="center" 
      android:layout_marginTop="10dp" 
      /> 

     <Button 
      android:layout_width="100dp" 
      android:layout_height="35dp" 
      android:text="Reset" 
      android:id="@+id/resetButton" 
      android:layout_row="4" 
      android:layout_column="1" 
      android:background="#3F51B5" 
      android:textColor="#ffffff" 
      android:textSize="25dp" 
      android:layout_centerHorizontal="true" 
      android:layout_gravity="center|top" 
      android:layout_marginTop="10dp" 
      android:layout_marginRight="3dp"/> 

    </GridLayout> 

</RelativeLayout> 

À la minute, les boutons/textes d'édition et de sortie sont tous relatifs à la taille de l'écran en raison de ppp.Modification de la taille des boutons pour les tailles d'écran Android Studio

Comment est-ce que j'irais régler ceci afin qu'il s'adapte à différentes tailles d'écran? Comme cela est ce qui se passe actuellement: Ceci est idéal: Nexus 5 Ce n'est pas: Nexus S

Répondre

0

Essayez cette mise en page à la place:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <TextView 
     android:id="@+id/resultOutput" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentEnd="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" 
     android:clickable="true" 
     android:password="false" 
     android:phoneNumber="false" 
     android:text="0" 
     android:textAlignment="center" 
     android:textIsSelectable="true" 
     android:textSize="30dp" /> 

    <GridLayout 
     android:id="@+id/gridLayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentEnd="true" 
     android:layout_below="@+id/resultOutput" 
     android:layout_marginBottom="50dp"> 

     <EditText 
      android:id="@+id/x1" 
      android:layout_width="110dp" 
      android:layout_height="wrap_content" 
      android:layout_column="0" 
      android:layout_row="0" 
      android:ems="10" 
      android:focusable="true" 
      android:hint="x1" 
      android:inputType="number|numberDecimal" 
      android:nextFocusDown="@+id/x2" /> 

     <EditText 
      android:id="@+id/x2" 
      android:layout_width="110dp" 
      android:layout_height="wrap_content" 
      android:layout_column="1" 
      android:layout_row="0" 
      android:ems="10" 
      android:focusable="true" 
      android:hint="x2" 
      android:inputType="number|numberDecimal" 
      android:nextFocusDown="@+id/x3" /> 

     <EditText 
      android:id="@+id/x3" 
      android:layout_width="110dp" 
      android:layout_height="wrap_content" 
      android:layout_column="2" 
      android:layout_row="0" 
      android:ems="10" 
      android:focusable="true" 
      android:hint="x3" 
      android:inputType="number|numberDecimal" 
      android:nextFocusDown="@+id/y1" /> 

     <EditText 
      android:id="@+id/y1" 
      android:layout_width="110dp" 
      android:layout_height="wrap_content" 
      android:layout_column="0" 
      android:layout_row="1" 
      android:ems="10" 
      android:focusable="true" 
      android:hint="y1" 
      android:inputType="number|numberDecimal" 
      android:nextFocusDown="@+id/y2" /> 

     <EditText 
      android:id="@+id/y2" 
      android:layout_width="110dp" 
      android:layout_height="wrap_content" 
      android:layout_column="1" 
      android:layout_row="1" 
      android:ems="10" 
      android:focusable="true" 
      android:hint="y2" 
      android:inputType="number|numberDecimal" 
      android:nextFocusDown="@+id/y3" /> 

     <EditText 
      android:id="@+id/y3" 
      android:layout_width="110dp" 
      android:layout_height="wrap_content" 
      android:layout_column="2" 
      android:layout_row="1" 
      android:ems="10" 
      android:focusable="true" 
      android:hint="y3" 
      android:inputType="number|numberDecimal" /> 

    </GridLayout> 

    <LinearLayout 
     android:id="@+id/row1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/gridLayout" 
     android:orientation="horizontal"> 

     <Button 
      android:id="@+id/addButton" 
      android:layout_width="0dp" 
      android:layout_height="35dp" 
      android:layout_weight="1" 
      android:layout_margin="8dp" 
      android:background="#3F51B5" 
      android:text="Add" 
      android:textColor="#ffffff" 
      android:textSize="25sp" /> 

     <Button 
      android:id="@+id/subButton" 
      android:layout_width="0dp" 
      android:layout_height="35dp" 
      android:layout_margin="8dp" 
      android:layout_weight="1" 
      android:background="#3F51B5" 
      android:text="Sub" 
      android:textColor="#ffffff" 
      android:textSize="25sp" /> 

     <Button 
      android:id="@+id/unitButton" 
      android:layout_width="0dp" 
      android:layout_height="35dp" 
      android:layout_margin="8dp" 
      android:layout_weight="1" 
      android:background="#3F51B5" 
      android:text="Unit" 
      android:textColor="#ffffff" 
      android:textSize="25sp" /> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/row2" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/row1" 
     android:orientation="horizontal"> 

     <Button 
      android:id="@+id/crossButton" 
      android:layout_width="0dp" 
      android:layout_height="35dp" 
      android:layout_weight="1" 
      android:layout_margin="8dp" 
      android:background="#3F51B5" 
      android:text="Cross" 
      android:textColor="#ffffff" 
      android:textSize="25sp" /> 

     <Button 
      android:id="@+id/dotButton" 
      android:layout_width="0dp" 
      android:layout_height="35dp" 
      android:layout_margin="8dp" 
      android:layout_weight="1" 
      android:background="#3F51B5" 
      android:text="Dot" 
      android:textColor="#ffffff" 
      android:textSize="25sp" /> 

     <Button 
      android:id="@+id/magButton" 
      android:layout_width="0dp" 
      android:layout_height="35dp" 
      android:layout_margin="8dp" 
      android:layout_weight="1" 
      android:background="#3F51B5" 
      android:text="Mag" 
      android:textColor="#ffffff" 
      android:textSize="25sp" /> 

    </LinearLayout> 

     <Button 
      android:id="@+id/resetButton" 
      android:layout_below="@id/row2" 
      android:layout_width="100dp" 
      android:layout_height="35dp" 
      android:layout_centerHorizontal="true" 
      android:layout_gravity="center|top" 
      android:layout_marginTop="10dp" 
      android:background="#3F51B5" 
      android:text="Reset" 
      android:textColor="#ffffff" 
      android:textSize="25sp" /> 

</RelativeLayout> 
+0

J'ai essayé et les boutons sont toujours positionnés tous étranges. Le fait que j'utilise un gridLayout pour les boutons serait-il un problème ici? – Sectah

+0

Voir ma réponse mise à jour, j'ai remplacé les boutons avec LinearLayouts et mettre le même poids à tous les boutons. – Francesc

0

C'est généralement un processus très long:

Vous devez créer des répertoires séparés pour chaque mise en page afin de rester cohérente à l'utilisateur :

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

Vous devez faire des dispositions différentes pour chaque taille de l'écran, et Android règle automatiquement la mise en page en fonction du nom du répertoire avec le contenu de votre fichier XML:

DANS ANDROID Stuido: enter image description here

Maintenant, sélectionnez la taille:

enter image description here

faire pour chaque mise en page simple que vous avez:

enter image description here

(Petit est maintenant considéré comme assez obsolète)

Ensuite, affichez simplement votre mise en page dans chaque directo ry. Vous n'avez pas besoin de faire les répertoires comme ça, si vous voulez, vous pouvez simplement aller dans la vue projet et les créer et copier les fichiers xml, mais de cette façon, c'est beaucoup plus facile.

Permettez-moi de savoir si elle a contribué,

Ruchir

+0

Alors, est-ce que je devrais essentiellement changer la disposition visuelle pour une variété d'appareils? Parce que je l'ai comme je veux sur un OnePlus One et un Nexus 7 grâce à cela. – Sectah

+0

@Sectah Yep, à peu près. Ce que je fais avec mon application, c'est optimiser pour l'espace ouvert sur des choses comme les appareils xlarge, en ajoutant plus de contenu dans une mise en page. Ou, vous pourriez simplement augmenter la taille de tout. Si cela vous a été utile, veuillez appuyer sur la coche à gauche de la réponse pour l'accepter. Si vous avez besoin de plus d'aide, n'hésitez pas à demander! :) –

3

API Depuis 21, vous pouvez utiliser android: layout_columnWeight = "1" pour distribuer plus de l'espace pour chaque colonne d'élément.

Vous voulez ASIGN même poids de la colonne afin de remplir chaque espace de colonne également

Vérifiez GridLayout référence android http://developer.android.com/reference/android/widget/GridLayout.html

Section espace excédentaire Répartition