如何定义一个声明样式的整数数组?

我为自定义视图实现了自己的<declare-styleable> (按照这里的说明)。 我想能够指定一个整数数组作为可能的XML属性之一。 我如何:

  1. attrs.xml整数数组指定为XML属性?
  2. 在我的自定义视图中调用obtainStyledAttributes()之后从TypedArray获取它?

  1. 您可以声明它作为参考。

     <declare-styleable name="MyView"> <attr name="array" format="reference"/> </declare-styleable> 
  2. 它看起来像TypeArray没有getIntArray方法,所以你必须直接从资源中获取它。

     final TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.MyView); final int id = array.getResourceId(R.styleable.MyView_array, 0); if (id != 0) { final int[] values = getResources().getIntArray(id); } array.recycle()