je voudrais créer un bouton personnalisé comme celui-ci:android bouton personnalisé
http://i77.photobucket.com/albums/j74/bertyhell/button.png?t=1279626910
mais cela ne fonctionne pas je dois montrer le texte sur les boutons avec le positionnement absolu par rapport à l'origine des boutons toutes les chaînes doivent être modifiables lors de l'exécution
mais le bouton ci-dessous peut être un bouton régulier
comment puis-je faire?
Si je crée un bouton en héritant de android.widget.button je dois dessiner le bouton entier moi-même?
Y at-il un moyen plus facile?
EDIT
ok j'ai essayé Hériter de disposition relative
comme ceci:
package be.smarttelecom.datacheck.views;
import android.content.Context;
import android.util.Log;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class AlertButton extends RelativeLayout {
private TextView roomNumber;
public AlertButton(Context context, String roomNumber) {
super(context);
try{
this.alertId = alertId;
// TODO Auto-generated constructor stub
this.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
TextView room = new TextView(context);
room.setFocusable(false);
room.setText(R.string.room);
room.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
this.roomNumber = new TextView(context);
this.roomNumber.setFocusable(false);
this.roomNumber.setId(R.id.roomNumber);
this.roomNumber.setTextSize(26);
this.roomNumber.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
this.roomNumber.setText(roomNumber);
}catch(Exception ex){
Log.i("test", "problem during construction of alert button: " + ex.getMessage());
}
}
public void setRoomNumber(String number){
roomNumber.setText(number);
}
public void setDescription(String description){
this.description.setText(description);
}
}
quand je l'ajoute comme ceci:
TableRow row2 = new TableRow(this);
AlertButton alert = new AlertButton(this, "1","14","wc","krist");
row2.addView(alert);
container.addView(row2, 0);
je reçois un page vide et aucune erreur du tout
une idée de ce que j'ai mal fait?
comment est-ce que je mets les champs de texte sur certaines positions? les mettre dans une mise en page absolue et ajouter des coordonnées x an y? (la disposition absolue est déprimée, alternative?)
Assurez-vous de définir setContentView (conteneur) de votre Activity ou quelque chose de similaire dans votre méthode onCreate. Jetez également un coup d'œil à la définition des mises en page en XML. Cela rendra vos dispositions relatives beaucoup plus faciles à traiter – CodeFusionMobile
Vous n'avez pas non plus ajouté de bouton à la vue AlertButton. Il suffit de l'appeler un bouton ne fonctionne rend pas par magie, malheureusement :) – CodeFusionMobile