Calcular el tamaño de la imagen cuando se utiliza setCompoundDrawables para EditText
Cuando estoy agregar icono como a continuación:
etComment = (EditText) findViewById(R.id.et_comment); Drawable img = getResources().getDrawable( R.drawable.warning ); etComment.setCompoundDrawablesWithIntrinsicBounds( img, null, null, null );
- Establecer peso (porcentaje) mediante programación
- Cómo establecer mediante programación el ancho de LinearLayout?
- GridView.LayoutParams no existe, el código de Android se rompe
- Cómo hacer que un diseño relativo desplazable cuando tiene muchos puntos de vista de los niños?
- ¿Cuál es una forma razonable de hacer este diseño?
El icono cambia el tamaño de EditText. ¿Cómo puedo calcular el tamaño img y ponerlo en EditText sin EditText redimensionar?
¡Gracias!
FunkTheMonk
Utilice setCompounDrawables () en lugar de setCompoundDrawablesWithIntrinsicBounds () – tendrá que establecer los límites de los drawables manualmente.
No entiendo cómo calcular los límites manualmente. Tengo la altura y el ancho de EditText:
etComment = (EditText) findViewById(R.id.et_comment); Drawable img = getResources().getDrawable( R.drawable.warning ); int size = etComment.getHeight(); img.setBounds(0, 0, size, size); etComment.setCompoundDrawables( img, null, null, null );
Pero tengo diferentes resultados en diferentes tamaños de pantalla. ¿Cómo puedo calcular el tamaño correcto y el relleno del icono? ¿Me podría ayudar?
- ¿Qué hace la clase LayoutInflater? (En Android)
- Problemas relacionados con el uso de DP en android?
- Construir una línea de tiempo con la vista personalizada
- alinear una imagen en la parte superior de imagenap
- Cómo personalizar un Spinner en Android
- La biblioteca existente para reproducir el efecto de zoom-in imageView de la aplicación Foursquare android?
- Establecer posición / tamaño del elemento de la interfaz de usuario como porcentaje del tamaño de la pantalla
- La barra de herramientas no se muestra desde la barra de herramientas de contracción
Creo que puede utilizar diferentes tamaños de imágenes para diferentes pantallas y utilizar getMinimumWidth para establecer Bounds.But no lo probé antes, puede ser que no es apropiado para .9 parche.
Cuando utiliza setCompoundDrawables, necesita código como:
Drawable img; Resources res = getResources(); img = res.getDrawable(R.drawable.btn_img); //You need to setBounds before setCompoundDrawables , or it couldn't display img.setBounds(0, 0, img.getMinimumWidth(), img.getMinimumHeight()); btn.setCompoundDrawables(img_off, null, null, null);
Utilice setCompoundDrawables () en lugar de setCompoundDrawablesWithIntrinsicBounds () – tendrá que establecer los límites de los drawables manualmente.
He encontrado la solución en este post.
Drawable dr = this.getResources().getDrawable(R.drawable.warning); Bitmap bitmap = ((BitmapDrawable) dr).getBitmap(); Drawable d = new BitmapDrawable(this.getResources(), Bitmap.createScaledBitmap(bitmap, 35, 35, true)); txtValue.setCompoundDrawablesWithIntrinsicBounds(d, null, null, null);
HTH, Milton
- Detener desplazamiento en CollapsingToolbarLayout para que no se derrumbe completamente
- Cómo detectó las referencias de Android