2014-07-12 1 views
0

Mon post est basé sur un post précédent et grandement simplifié.Android: Utilisation de l'objet pour définir l'affichage dans la mise en page

(Android: Two Views On Top of Each Other Using XML)

Le fichier/objet DrawV Remplit l'écran avec des cercles roses et permet de toucher un cercle pour le faire disparaître. Dans un autre fichier, DrawV drawView privé = new DrawV (this); Cela remplit l'écran mais ne participe pas à la mise en page. SetContentView (drawView) montre les points, donc je sais que cela fonctionne. Je veux utiliser une mise en page nommée setContentView (R.layout.activity_title); qui comprend deux boutons en haut de l'écran et les points ci-dessous. En d'autres termes, je me demandais s'il y avait une méthode pour mettre les points montrés dans une sorte de vue qui peut être incluse avec des boutons dans la même disposition.

Une aide? S'il vous plaît?

Dites-moi si vous avez besoin de quoi que ce soit.

Répondre

0

Si DrawV est une vue Android (ou s'étend View), vous pouvez l'inclure dans un fichier de mise en page XML standard, puis utiliser ce fichier de présentation avec setContentView(int).

Pour référencer la classe DrawV dans votre modèle, vous devez utiliser le nom complet (avec le package).

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

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

    <Button 
     android:id="@+id/button_one" 
     android:text="One" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1.0" /> 

    <Button 
     android:id="@+id/button_two" 
     android:text="Two" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1.0" /> 
    </LinearLayout> 

    <com.example.views.DrawV 
    android:layout_below="@id/buttons" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

</RelativeLayout> 

Ci-dessus, le RelativeLayout est votre vue racine. Le LinearLayout, buttons, est un ViewGroup juste pour contenir les deux boutons et les garder de largeur égale (notez le layout_width=0dp et égal layout_weight). Votre vue DrawV sera affichée sous la vue buttons, puis correspondra à la largeur et à la hauteur du conteneur parent (remplissez-la).

Si vous enregistrez cette sous src/main/res/layout/activity_circles.xml, vous pourrez utiliser setContentView(R.layout.activity_circles) dans votre activité pour définir la mise en page.

+0

Je suis en faveur de vos méthodes, seulement ils ne travaillent pas: me donne l'erreur "L'application TAP (processus com.category.tap) s'est arrêtée de manière inattendue. Veuillez réessayer." – user963070

+0

@ user963070 c'est l'erreur qui s'affiche à l'utilisateur sur l'appareil. Modifiez votre question et placez la trace de la pile visible dans LogCat. – ataulm

+0

Hey, ajouté logcat. Je ne sais pas si c'est un logcat pour une version légèrement différente d'une mise en page, mais c'est le cas. – user963070

Questions connexes