2011-10-29 2 views
1

J'ai besoin d'une certaine mise en page pour une application Android. J'ai les boutons personnalisés et je suis capable de les charger dans un bouton, mais j'ai besoin d'aide sur la façon de les disposer sur l'écran. Je suis un débutant au développement android (voir mon pseudonyme). Essayer d'apprendre à utiliser .xmlMise en page des boutons Android

J'ai attaché ce dont j'ai besoin et quel code xml j'ai déjà. Toute aide serait grandement appréciée.

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:orientation="vertical" android:weightSum="1"> 


       <LinearLayout 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:orientation="horizontal" android:weightSum="1" 
       android:gravity="center_vertical|center_horizontal" > 
        <Button android:gravity="center_vertical|center_horizontal" android:id="@+id/button" android:layout_height="wrap_content" android:padding="10dp" android:background="@drawable/schedule_button" android:layout_width="wrap_content"></Button> 
        <Button android:id="@+id/button" android:layout_height="wrap_content" android:padding="10dp" android:background="@drawable/grad_button" android:layout_width="wrap_content"></Button> 
       </LinearLayout> 


       <LinearLayout 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:orientation="horizontal" android:weightSum="1" 
       android:gravity="center_vertical|center_horizontal" > 
       <Button android:gravity="center_vertical|center_horizontal" android:id="@+id/button" android:layout_height="wrap_content" android:padding="10dp" android:background="@drawable/schedule_button" android:layout_width="wrap_content"></Button> 
       <Button android:id="@+id/button" android:layout_height="wrap_content" android:padding="10dp" android:background="@drawable/grad_button" android:layout_width="wrap_content"></Button> 
       </LinearLayout> 



</LinearLayout> 

Her is the layout

Répondre

1

Je vois que vous essayez d'afficher des images sous forme de boutons. Par conséquent, je vous recommande d'utiliser ImageButton au lieu d'un bouton. J'ai inclus du code. Il y a différentes façons de réaliser ce que vous avez l'intention de faire ici. Mais, je dois choisir d'utiliser LinearLayout uniquement pour rester simple. Deepa a utilisé un RelativeLayout pour y parvenir et c'est vraiment une très bonne solution. Vous devriez regarder RelativeLayout car cela pourrait vous aider dans le futur tout en structurant les mises en page.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:gravity="center" 
android:orientation="vertical" > 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" > 
    <ImageButton 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src = "@drawable/ic_launcher" 
     android:background="@null"/> 
    <ImageButton 
     android:id="@+id/button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src = "@drawable/ic_launcher" 
     android:background="@null"/> 
</LinearLayout> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" >  
    <ImageButton 
     android:id="@+id/button3" 
     android:layout_width="wrap_content" 
     android:src = "@drawable/ic_launcher" 
     android:background="@null" 
     android:layout_height="wrap_content"/> 

    <ImageButton 
     android:id="@+id/button4" 
     android:layout_width="wrap_content" 
     android:src = "@drawable/ic_launcher" 
     android:background="@null" 
     android:layout_height="wrap_content"/> 
</LinearLayout> 


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" >  

    <ImageButton 
     android:id="@+id/button5" 
     android:layout_width="wrap_content" 
     android:src = "@drawable/ic_launcher" 
     android:layout_height="wrap_content" 
     android:background="@null"/> 

    <ImageButton 
     android:id="@+id/button6" 
     android:layout_width="wrap_content" 
     android:src = "@drawable/ic_launcher" 
     android:layout_height="wrap_content" 
     android:background="@null"/> 
</LinearLayout> 

Dans le code ci-dessus, je l'ai utilisé les icônes de lancement par défaut comme les images. Vous devez les remplacer si nécessaire avec les images de bouton correspondantes. En outre, il y a 4 aspects importants ici que vous devez comprendre. Premièrement - J'ai utilisé android: background = "@ null" pour se débarrasser d'une image attachée à ImageButton. Essayez d'exécuter le code sans cette ligne et vous comprendrez de quoi je parle

Deuxième - Cette ligne: android: src = "@ drawable/ic_launcher" est utilisée pour déclarer l'image que vous affichez comme image.

Troisième - Si vous voulez un peu d'espace entre les boutons, vous pouvez mettre un peu de remplissage entre chacun de ces éléments. Vous pouvez le faire en utilisant 'android: padding = xxdp'

Quatrièmement - Si vous voulez que les boutons aient une taille spécifique, vous pouvez le faire en remplaçant les valeurs 'wrap_content' par 'xxdp' pour la largeur et la taille. Cependant, il est important d'ajouter la ligne suivante lorsque vous avez l'intention de le faire: android: scaleType = "fitXY". Cela indiquera à l'élément que vous voulez qu'il soit présenté de manière absolue. Mais, au lieu de recourir à cette approche, je vous recommande de redimensionner les images de manière appropriée avant de les intégrer dans votre mise en page.

+0

Merci, c'est exactement ce dont j'avais besoin. Merci pour votre explication très détaillée. – Bryan1234321

+0

de rien. Bonne chance! – Abhijit

0

Pour remplir cela sur l'écran, vous devez définir cela comme une vue de certaines activités. pour cela vous pouvez vous référer au code ci-dessous.

public class ButtonLayout extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     // You can put your XML file name here 
     setContentView(R.layout.main); 
} 
} 
+0

Je n'ai pas de problèmes avec la classe java mais plutôt la disposition dans le fichier xml. Toute aide pour configurer le fichier xml ???? – Bryan1234321

+0

Configurer les moyens XML ... vous vouliez faire glisser et déposer comme contrôle pour faciliter le développement? –

2

Try this ..

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_vertical|center_horizontal"> 
<Button 
    android:id="@+id/Button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Schedules"/> 

<Button 
    android:id="@+id/Button2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
android:layout_toRightOf="@id/Button1" 
android:text="Grand Nite" 
/> 

<Button 
android:id="@+id/Button3" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_below="@id/Button1" 
android:text="The paper"/> 
<Button 
android:id="@+id/Button4" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_toRightOf="@id/Button3" 
android:layout_below="@id/Button1" 
android:text="The Splash" 
/> 

<Button 
android:id="@+id/Button5" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_below="@id/Button3" 
android:text="Facebook"/> 
<Button 
android:id="@+id/Button6" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_toRightOf="@id/Button5" 
android:layout_below="@id/Button3" 
android:text="Twitter" 
/> 
</RelativeLayout> 

Il peut utile pour vous ..

Questions connexes