Tengo un par de EditText views donde quiero establecer la imagen de la izquierda y setCompoundDrawablesWithIntrinsicBounds no parece estar funcionando. Los gráficos no parecen cambiar.

¿alguien sabe por qué puede ser esto?

Aquí es cómo voy a instalar el dibujables:

        mFirstname.setCompoundDrawablesWithIntrinsicBounds(R.drawable.user_icon, 0, 0, 0);
        mLastname.setCompoundDrawablesWithIntrinsicBounds(R.drawable.user_icon, 0, 0, 0);
        mEmail.setCompoundDrawablesWithIntrinsicBounds(R.drawable.mailicon, 0, 0, 0);
        mPassword.setCompoundDrawablesWithIntrinsicBounds(R.drawable.lockicon, 0, 0, 0);
        mDateOfBirth.setCompoundDrawablesWithIntrinsicBounds(R.drawable.calico, 0, 0, 0);
        mCity.setCompoundDrawablesWithIntrinsicBounds(R.drawable.mailicon, 0, 0, 0);
        mStreet.setCompoundDrawablesWithIntrinsicBounds(R.drawable.mailicon, 0, 0, 0);
        mPostcode.setCompoundDrawablesWithIntrinsicBounds(R.drawable.mailicon, 0, 0, 0);
        mPhoneNumber.setCompoundDrawablesWithIntrinsicBounds(R.drawable.mailicon, 0, 0, 0);
  • Estoy teniendo el mismo problema con un botón de radio. La llamada, simplemente no tiene ningún efecto, la imagen siempre aparece a la derecha del botón. Encontraste alguna solución?
  • Sí! Yo hice. Lo siento por responder con una semana de retraso. Así que me parece a efecto de que los dispositivos con ICS en él. solución publicado a continuación
  • ¿a qué te refieres abajo?? la solución que fue publicado por @usuario Denis Glakiy?
InformationsquelleAutor jimbob | 2013-12-06

5 Comentarios

  1. 15

    Si alguien más tiene esta aparentemente inexplicable problema, intente lo siguiente:

    • Ir a su plantilla XML.
    • Quitar el XML de la imagen que lo representa.
    • Su punto de vista debe actualizar la compounddrawable.

    básicamente esta parte de la vista no parecen tener reinflated en ICS dispositivos. Esperemos que esto resuelve el problema para algunas personas!

    • gracias por la respuesta, muy útil para mí.
    • Extraño error de hecho
  2. 6

    Otra solución es la instalación de compuesto dibujable en la siguiente (después de la presentación) ciclo de la interfaz de bucle:

    final TextView viewById = (TextView) findViewById(R.id.label);
    
    viewById.post(new Runnable()
    {
        @Override
        public void run()
        {
            viewById.setCompoundDrawablesWithIntrinsicBounds(android.R.drawable.ic_menu_call, 0, 0, 0);
        }
    });
  3. 0

    El problema surgir cuando se han definido Imagen (arriba, izquierda, derecha, abajo) de la Imagen en xml de diseño. Es como el xml dibujable se aplica después de que el definido en el código. Quitar el xml que uno y hacerlo en el código donde quieras.

  4. 0
    mBtnNext=(Button) rootView.findViewById(R.id.btnNext);
    
    Drawable drawableRight=new IconicsDrawable(getActivity().getApplicationContext())
                   .icon(Ionicons.Icon.ion_arrow_right_a)
                    .color(getResources().getColor(R.color.colorBlack))
                    .sizeDp(24);
    
    mBtnNext.setCompoundDrawables(null,null,drawableRight,null);

    Probar este tu problema se resolverá.

    • Sería útil si usted explicar lo que han hecho allí
  5. 0

    He utilizado Ionicons plugins. Ir a los siguientes enlaces. Usted obtener alguna idea sobre cómo usar IonIcons en su proyecto android.

    IonIcons Para Android

    Después de aplicar la anterior Ionicons complementos en su proyecto. Usted recibirá IconicsDrawable clase.

    Gradle imagen

    Ver aquí para saber cómo conducir IconicsDrawable clase en su clase

    mBtnNext=(Button) rootView.findViewById(R.id.btnNext);
    
    Drawable drawableRight=new IconicsDrawable(getActivity().getApplicationContext())
                   .icon(Ionicons.Icon.ion_arrow_right_a)
                    .color(getResources().getColor(R.color.colorBlack))
                    .sizeDp(24);
    
    mBtnNext.setCompoundDrawables(null,null,drawableRight,null);

    Espero que se entienda ahora.

Dejar respuesta

Please enter your comment!
Please enter your name here