Android. Использование собственных View в xml-разметке layout

февраля
27
2012
Метки: android layout view

В статье рассматривается использование собственноручно созданных 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="" />

В итоге Вы увидите на экране эмулятора (мобильного телефона) следующее окно:

Android. Использование собственных View в xml-разметке layout

Напишите первое сообщение!

Вы должны войти под своим аккаунтом чтобы оставлять комментарии