Come ridimensionare automaticamente una vista personalizzata con Shapedrawables?
-
21-12-2019 - |
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?
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