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

Напишіть перше повідомлення!

Ви повинні увійти під своїм аккаунтом щоб залишати коментарі