Я хотел бы создать пользовательскую кнопку следующим образом:
http://i77.photobucket.com/albums/j74/bertyhell/button.png?t=1279626910
но это не работает
мне нужно показать текст на кнопках с абсолютным позиционированием относительно происхождения кнопок
все строки должны быть изменены во время выполнения
но кнопка ниже может быть обычной кнопкой
как я могу это сделать?
если я создаю кнопку, унаследовав ее от android.widget.button, я сам должен нарисовать всю кнопку?
Есть ли более простой способ?
EDIT
хорошо, я попробовал наследовать от относительного макета
вот так:
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);
}
}
когда я добавляю это так:
TableRow row2 = new TableRow(this);
AlertButton alert = new AlertButton(this, "1","14","wc","krist");
row2.addView(alert);
container.addView(row2, 0);
я получаю пустую страницу и вообще без ошибок
Есть идеи, что я сделал не так?
как разместить текстовые поля на определенных позициях?
положить их в абсолютном макете и добавить координаты X и Y?
(абсолютное расположение ограничено, альтернатива?)