В статье рассматривается использование собственноручно созданных View в xml-разметке на платформе Android. Также будет приведен небольшой демонстрационный пример.
Для начала создайте класс CustomView, который и будет пользовательским View. Унаследуйте его от View и переопределите 3 конструктора:
public class CustomView extends View {
public CustomView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomView(Context context) {
super(context);
}
// ...
}
Чтобы видеть отличие от стандартного View, переопределите в этом классе метод onDraw(). Например, следующим способом:
@Override
protected void onDraw(Canvas canvas) {
canvas.save();
Paint paint = new Paint();
paint.setColor(Color.DKGRAY);
paint.setStyle(Style.FILL);
canvas.drawPaint(paint);
paint.setColor(Color.MAGENTA);
paint.setTextSize(30);
canvas.drawText("Custom View", 100, 40, paint);
super.onDraw(canvas);
canvas.restore();
}
Чтобы воспользоваться CustomView в разметке, объявите следующий блок:
<com.seostella.customviewsample.CustomView
android:layout_width="fill_parent"
android:layout_height="40dip"
android:text="" />
В итоге Вы увидите на экране эмулятора (мобильного телефона) следующее окно: