Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Programáticamente establecido izquierda dibujable en un TextView

Tengo un textView en xml aquí.

<TextView android:id="@+id/bookTitle" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:drawableLeft="@drawable/checkmark" android:gravity="center_vertical" android:textStyle="bold" android:textSize="24dip" android:maxLines="1" android:ellipsize="end"/> 

Como se puede ver, establezco DrawableLeft en xml.

  • Teclado suave oculta la barra de acción
  • El dispositivo Android aparece sin conexión a pesar de conectar USB y activar la depuración USB
  • File.createTempFile () VS nuevo archivo ()
  • Refrescar el token de OAuth utilizando Retrofit sin modificar todas las llamadas
  • El botón de inicio en la barra de acción no funciona en Lollipop
  • CoordinatorLayout con CollapsingToolbarLayout rompe con el teclado en el fragmento de diálogo
  • Quisiera cambiar el drawable en código.

    ¿Hay alguna manera de hacer esto? ¿O establecer el drawableLeft en código para la vista de texto?

  • Configuración del título personalizado de ActionBar del fragmento
  • Utilizar el mismo almacén de claves de depuración en varios equipos
  • ¿Cómo agregar el botón de menú sin barra de acción?
  • ¿Cómo registrar un servicio de reconocimiento de voz personalizado?
  • Acceso a localhost: puerto del emulador de Android
  • Material Diseño Transparente ActionBar
  • 4 Solutions collect form web for “Programáticamente establecido izquierda dibujable en un TextView”

    Puede utilizar setCompoundDrawablesWithIntrinsicBounds (int left, int top, int right, int bottom)

    Establecer 0 donde no desea imágenes

    Ejemplo para Drawable a la izquierda:

     TextView textView = (TextView) findViewById(R.id.myTxtView); textView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.icon, 0, 0, 0); 

    Sugerencia: Siempre que conozca algún atributo XML, pero no tiene idea de cómo utilizarlo en tiempo de ejecución. Sólo tienes que ir a la descripción de la propiedad en el desarrollador doc. Allí encontrará los métodos relacionados si es soportado en tiempo de ejecución. Es decir Para DrawableLeft

    Desde aquí veo el método setCompoundDrawablesWithIntrinsicBounds (int, int, int, int) se puede utilizar para hacer esto.

    Puede utilizar cualquiera de los métodos siguientes para establecer el Drawable en TextView:

    1- setCompoundDrawablesWithIntrinsicBounds (int, int, int, int)

    2- setCompoundDrawables (Left_Drawable, Top_Drawable, Right_Drawable, Bottom_Drawable)

    Y para obtener dibujable de los recursos que puede utilizar:

     getResources().getDrawable(R.drawable.your_drawable_id); 
     static private Drawable **scaleDrawable**(Drawable drawable, int width, int height) { int wi = drawable.getIntrinsicWidth(); int hi = drawable.getIntrinsicHeight(); int dimDiff = Math.abs(wi - width) - Math.abs(hi - height); float scale = (dimDiff > 0) ? width / (float)wi : height / (float)hi; Rect bounds = new Rect(0, 0, (int)(scale * wi), (int)(scale * hi)); drawable.setBounds(bounds); return drawable; } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.