tutorial - Android-propósito de usoLevel en forma de etiqueta
qué es un fragmento de contenedor en tag manager (1)
Es para ProgressBars. Por ejemplo, esta esencia utiliza una forma de anillo como un dibujo dibujable.
res / drawable / github_232_circular.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadiusRatio="2.3"
android:shape="ring"
android:thickness="3.8sp"
android:useLevel="true">
<solid android:color="#ff0000" />
</shape>
En su diseño:
<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_gravity="top|end"
android:max="100"
android:progress="0"
android:progressDrawable="@drawable/github_232_circular"
/>
Básicamente, useLevel
hace para que el dibujo pueda dibujarse parcialmente. Por ejemplo, hay un método ImageView.setImageLevel() que le permite establecer un "nivel", por ejemplo, un progreso del 25%, por lo que el dibujo del anillo se dibujaría como un cuarto de círculo. Y ProgressBar.setProgress() hace lo mismo, actualizando el "nivel" del drawable que has establecido en la ProgressBar.
¿Cuál es el propósito del atributo useLevel de la etiqueta xml de forma de Android? Esto es con respecto a una lista de capas, pero no debería importar. De los docs encontré el significado de la etiqueta useLevel:
Indica si el nivel del dibujable afecta la forma en que se dibuja el degradado.
Así que si tengo el siguiente fragmento de código XML:
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring"
android:innerRadius="15dp"
android:thickness="10dp"
android:useLevel="false">
<solid android:color="#ababf2" />
<size
android:height="50dp"
android:width="50dp" />
</shape>
luego, con useLevel = true, el anillo está deshabilitado. Debe ser falso para que aparezca el anillo. ¿Pero cuál es el propósito de este atributo? Los documentos no son claros.