18

<declare-styleable>カスタム ビュー用に独自のものを実装しています (こちらの手順に従ってください)。可能な XML 属性の 1 つとして整数の配列を指定できるようにしたいと考えています。方法:

  1. attrs.xml?に XML 属性として整数配列を指定します。
  2. カスタム ビューを呼び出した後、 TypedArrayから取得しますか?obtainStyledAttributes()
4

1 に答える 1

33
  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()
    
于 2013-01-08T17:20:25.167 に答える