Domanda

Sto scrivendo una vista personalizzata per la mia applicazione Android, che consiste di diversi ShapeDrawables.Per questi casi, devo specificare le dimensioni usando setBounds().Ora, la mia opinione sarà sempre quadrata, ma voglio che usi tanto spazio quanto lo permetto all'interno del genitore dove è incorporato.

Allora, in questo momento, chiamo setBounds() con alcuni valori hardcoded, ma quando specifico android:layout_width e android:layout_height, voglio che il mio ShapeDrawables sia ridimensionato in modo che appaiano il più grande possibile.

Come posso realizzare questo all'interno della mia classe di visualizzazione personalizzata?

È stato utile?

Soluzione

Ho trovato io stesso:

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

    int width = MeasureSpec.getSize(widthMeasureSpec);
    int height = MeasureSpec.getSize(heightMeasureSpec);

    mSize = Math.min(width, height);

    setMeasuredDimension(mSize, mSize);
}
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top