Сначала я новичок в Android.
Хорошо, здесь идет.
Я пытаюсь переопределить onDraw кнопки, потому что я хочу создать кнопку с другим стилем ... Что-то немного другое.
Теперь я могу нарисовать фон довольно легко, но я не могу понять, почему у меня нет текста на кнопке.
public class TriButton extends Button {
private Paint m_paint = new Paint();
private int m_color = 0XFF92C84D; //LIKE AN OLIVE GREEN..
public TriButton(Context context) {
super(context);
setBackgroundColor(Color.BLACK);
}
public void onDraw(Canvas iCanvas) {
//draw the button background
m_paint.setColor(m_color);
iCanvas.drawRoundRect(new RectF(0, 0,getWidth(),getHeight()), 30, 30, m_paint);
//draw the text
m_paint.setColor(Color.WHITE);
iCanvas.drawText( "bash is king", 0, 0, m_paint);
}
public static RelativeLayout.LayoutParams GetRelativeParam(int iLeft, int iTop, int iWidth, int iHeight){
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(iHeight, iWidth);
params.leftMargin = iLeft;
params.topMargin = iTop;
return params;
}
}
Вот код, который создает кнопку.
RelativeLayout relLay = new RelativeLayout(this);
m_button = new TriButton(this);
setContentView(relLay);
relLay.addView(m_button, m_button.GetRelativeParam(0,0,100,500) );
Теперь все, что я прочитал, заставляет меня ожидать, что я вижу текст в моей оливковой кнопке овальной кнопки.
Оливково-зеленый овал появляется, но в нем нет текста .. Это пустота. Зеленое пятно, которое смеется надо мной и напоминает мне своим молчанием, что я совершенно один :(.