Necesito para establecer un valor de opacidad de un color en xml dibujable. Pero cuando intento agregar los dos valores de opacidad (#20C0C0C0) por ejemplo, no funcionan. El color que aparece totalmente transparente.

Aquí está mi código…

  <?xml version="1.0" encoding="utf-8"?>
  <shape xmlns:android="http://schemas.android.com/apk/res/android" >
     <corners
        android:radius="2dp" />
     <solid
        android:color="#CDCDCD" />
     <stroke
        android:width="2dp"
        android:color="@android:color/darker_gray" />
     <size 
        android:height="60dp"
        android:width="80dp"/>
   </shape>

Alguien tiene una idea?
Gracias por tu ayuda.

  • CDCDCD con esto, usted tiene un color opaco. Dos primeros bytes son el canal alfa. FF es el max alpha 00 es el mínimo. #00CDCDCD es totalmente transparente de color
  • No hay ningún valor alfa para Forma Dibujables.

3 Comentarios

  1. 83

    que puede ser un poco tarde, pero si alguien entra a este post y está en busca de algunos valores de alfa. Jared Rummler hizo el trabajo y provids nosotros con cada posibile valor
    https://stackoverflow.com/a/27813407/5973229

    Así que utiliza este Método para calcular cada valor de opacidad en código Hexadecimal:

    for (double i = 1; i >= 0; i -= 0.01) {
    i = Math.round(i * 100) /100.0d;
    int alpha = (int) Math.round(i * 255);
    String hex = Integer.toHexString(alpha).toUpperCase();
    if (hex.length() == 1) hex = "0" + hex;
    int percent = (int) (i * 100);
    System.out.println(String.format("%d%% — %s", percent, hex));

    Y, a continuación, este es el Resultado:

    100% — FF
    99% — FC
    98% — FA
    97% — F7
    96% — F5
    95% — F2
    94% — F0
    93% — ED
    92% — EB
    91% — E8
    90% — E6
    89% — E3
    88% — E0
    87% — DE
    86% — DB
    85% — D9
    84% — D6
    83% — D4
    82% — D1
    81% — CF
    80% — CC
    79% — C9
    78% — C7
    77% — C4
    76% — C2
    75% — BF
    74% — BD
    73% — BA
    72% — B8
    71% — B5
    70% — B3
    69% — B0
    68% — AD
    67% — AB
    66% — A8
    65% — A6
    64% — A3
    63% — A1
    62% — 9E
    61% — 9C
    60% — 99
    59% — 96
    58% — 94
    57% — 91
    56% — 8F
    55% — 8C
    54% — 8A
    53% — 87
    52% — 85
    51% — 82
    50% — 80
    49% — 7D
    48% — 7A
    47% — 78
    46% — 75
    45% — 73
    44% — 70
    43% — 6E
    42% — 6B
    41% — 69
    40% — 66
    39% — 63
    38% — 61
    37% — 5E
    36% — 5C
    35% — 59
    34% — 57
    33% — 54
    32% — 52
    31% — 4F
    30% — 4D
    29% — 4A
    28% — 47
    27% — 45
    26% — 42
    25% — 40
    24% — 3D
    23% — 3B
    22% — 38
    21% — 36
    20% — 33
    19% — 30
    18% — 2E
    17% — 2B
    16% — 29
    15% — 26
    14% — 24
    13% — 21
    12% — 1F
    11% — 1C
    10% — 1A
    9% — 17
    8% — 14
    7% — 12
    6% — 0F
    5% — 0D
    4% — 0A
    3% — 08
    2% — 05
    1% — 03
    0% — 00
    • gracias, solucionado mi problm
    • Gracias por el hexagonal de la tabla <3
  2. 73

    El color «parece» totalmente transparente b/c es casi totalmente transparente. Hex colores son normalmente de 6 dígitos #RRGGBB, pero si desea ajustar la opacidad de pasar en 2 dígitos en hexadecimal escala (en base 16) en el inicio, por lo que en su caso #20C0C0C0 su opacidad es de 20 (en base 16).

    Aquí están algunos de los decimales de los valores alfa asignan a hexadecimal queridos

    • 0 -> 0 (totalmente transparente)
    • 32 -> 20 (este es su opacidad)
    • 255 -> FF (esto es completamente opaco)

    Por lo que su opacidad es sólo ~12%.

    Si a usted le gustaría ser más opaco (menos transparente) utilizar un número más alto (7F le dará aproximadamente un 50% de opacidad)

    Así:

    <solid android:color="#7FC0C0C0" />
  3. 2

    Dar una respuesta actualizada para que cuando la gente vea este post 2018. Tanto como yo lo he visto, cuando el desarrollo de versiones de API > Lollipop, no es necesario utilizar valores hexadecimales para alfa. Me registré ayer y fue sorprendido por esto.

    En el android esquemas de color, podemos utilizar valores Hexadecimales como en #FFFFFF para el color blanco. Esto representa canales RGB en dicho color. En otras palabras, como se ha mencionado por @nube del cumulo Nimbus anterior #RRGGBB.

    De opacidad/transparencia, deberá incluir el canal alfa, así que daría #AARRGGBB. En decimal/denary (base 10), R,G,B, Canales de cada rango de 0 a 255, mientras que el canal alfa de los rangos de 0 a 100 por lo que si quería usar el color de la muestra que usted proporciona con un 50% de opacidad, Todo lo que necesitas hacer es algo como:

    <solid android:color="#50C0C0C0"/>

    donde 50 es el porcentaje de opacidad que se requieren. Totalmente opaco opción, es decir, 100% de opacidad, usted no necesita usar #FFC0C0C0 o #100C0C0C0(Nota: esto demostraría nada). Dejarlo como #C0C0C0 lugar.

    • El canal alfa es un valor hexadecimal, como los canales RGB. #50C0C0C0 dará una opacidad de 30%, no el 50%. La diferencia es más fácil saber si el uso de #99C0C0C0, que dará como resultado que el 60% (y no el 99%).
    • Ah mi error. Me gustaría verificar y corregir.

Dejar respuesta

Please enter your comment!
Please enter your name here