技术开发 频道

自定义Android View组件

  【IT168 技术】Android提供了强大的可复用组件,但特殊情况需要自己的自定义的View组件,下面自定义一个View。

  首先在values/attrs.xml中定义好自定义的View会有哪些属性需要在XML中配置:

  < ?xml version="1.0" encoding="utf-8"?>

  < resources>

  < declare-styleable name="MyView">

  < attr name="textColor" format="color" />

  < attr name="textSize" format="dimension" />

  //在attrs中定义background

  < attr name="imgBackground" format="integer" />

  < attr name="textPaddingLeft" format="dimension"/>

  < attr name="textPaddingTop" format="dimension"/>

  < /declare-styleable>

  < /resources>

  编写自定义的View-MyView.java,继承View

  package test.cuntomizedview;

  import java.util.Calendar;

  import test.cuntomizedview.R;

  import android.content.Context;

  import android.content.res.TypedArray;

  import android.graphics.Canvas;

  import android.graphics.Color;

  import android.graphics.Paint;

  import android.os.SystemClock;

  import android.util.AttributeSet;

  import android.view.View;

  public class MyView extends View {

  private Paint mPaint;

  private Context mContext;

  private String mStr;

  /* 如果需要在配置文件中使用该自定义组件,注意一定要重写public **View(Context context, AttributeSet attrs)的构造方法,而不是public **View(Context context)。如果只需要在程序中利用代码使用该组件可以只覆写public **View(Context context)*/

  public MyView(Context context, AttributeSet attrs) {

  super(context, attrs);

  mContext = context;

  initMyView();

  /*获取在xml中配置的属性值*/

  TypedArray params = context.obtainStyledAttributes(attrs,

  R.styleable.MyView);

  //取得background

0
相关文章