La guía o código que encontrarás en este post es la solución más fácil y efectiva que hallamos a esta duda o dilema.
Solución:
Puede usar ImageView debajo de dos propiedades para mostrar la imagen según sus requisitos:
-
android: adjustViewBounds: establezca esto en true si desea que ImageView ajuste sus límites para preservar la relación de aspecto de su elemento dibujable.
-
android: scaleType: controla cómo se debe cambiar el tamaño de la imagen o moverla para que coincida con el tamaño de este ImageView
Las dos propiedades anteriores se pueden usar código xml o java.
Como debe decidir en el tiempo de ejecución, debe mostrar la imagen en pantalla completa o no, por lo que se aplicarán las dos propiedades anteriores en el código java como se muestra a continuación:
public class MainActivity extends Activity
ImageView imageView;
boolean isImageFitToScreen;
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView) findViewById(R.id.imageView);
imageView.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
if(isImageFitToScreen)
isImageFitToScreen=false;
imageView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
imageView.setAdjustViewBounds(true);
else
isImageFitToScreen=true;
imageView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
);
Usar el modo inmersivo de pantalla completa
llamar fullScreen()
sobre ImageView
hacer clic.
public void fullScreen() View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY) == uiOptions);
if (isImmersiveModeEnabled)
Log.i(TAG, "Turning immersive mode mode off. ");
else
Log.i(TAG, "Turning immersive mode mode on.");
// Navigation bar hiding: Backwards compatible to ICS.
if (Build.VERSION.SDK_INT >= 14)
newUiOptions ^= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
// Status bar hiding: Backwards compatible to Jellybean
if (Build.VERSION.SDK_INT >= 16)
newUiOptions ^= View.SYSTEM_UI_FLAG_FULLSCREEN;
// Immersive mode: Backward compatible to KitKat.
// Note that this flag doesn't do anything by itself, it only augments the behavior
// of HIDE_NAVIGATION and FLAG_FULLSCREEN. For the purposes of this sample
// all three flags are being toggled together.
// Note that there are two immersive mode UI flags, one of which is referred to as "sticky".
// Sticky immersive mode differs in that it makes the navigation and status bars
// semi-transparent, and the UI flag does not get cleared when the user interacts with
// the screen.
if (Build.VERSION.SDK_INT >= 18)
newUiOptions ^= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
getWindow().getDecorView().setSystemUiVisibility(newUiOptions);
//END_INCLUDE (set_ui_flags)
Lee mas
Descarga de ejemplo
use la siguiente propiedad de ImageView para el tamaño completo de la imagen
android:scaleType="fitXY"
ex :
1) Encienda otra actividad cuando haga clic en la imagen.
2) pasar URL en intent
3) Tome la vista de imagen en esa actividad y establezca la propiedad anterior de vista de imagen
4) Obtenga la URL de la intención y configure esa imagen.
pero al usar esto, su imagen puede ser almidonada si es de tamaño pequeño.
Valoraciones y comentarios
Al final de la web puedes encontrar las aclaraciones de otros gestores de proyectos, tú asimismo tienes la habilidad dejar el tuyo si lo deseas.