In this post, you can learn how to display image full screen when it is clicked. To show image on full screen, we need to set window’s flag to FLAG_FULLSCREEN, set scaleType to FIT_XY and set AdjustViewBounds as required. Since the trigger for full screen display is an image click event, we need to handle this event. In the on click handler, start the activity passing full screen indicator in the intent as extra information.
In the activity onCreate method, window flag is set to FLAG_FULLSCREEN depending on the full screen indicator from the intent.
Below is the output of ImageView full screen example.
Below screens shows image in full screen mode.
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="40dp"
android:textAppearance="@style/TextAppearance.AppCompat.Large"
android:text="Click Image for FullScren"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/toolbar"/>
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"/>
</android.support.constraint.ConstraintLayout>
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.ImageView;
public class FullScreenImageActivity extends AppCompatActivity {
private ImageView imageView;
private String fullScreenInd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fullscreen_image);
Toolbar tb = (Toolbar)findViewById(R.id.toolbar);
setSupportActionBar(tb);
imageView = findViewById(R.id.imageView);
imageView.setImageResource(R.drawable.nature);
fullScreenInd = getIntent().getStringExtra("fullScreenIndicator");
if ("y".equals(fullScreenInd)) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
getSupportActionBar().hide();
imageView.getLayoutParams().height = ViewGroup.LayoutParams.MATCH_PARENT;
imageView.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT;
imageView.setAdjustViewBounds(false);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
}
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(FullScreenImageActivity.this,
FullScreenImageActivity.class);
if("y".equals(fullScreenInd)){
intent.putExtra("fullScreenIndicator", "");
}else{
intent.putExtra("fullScreenIndicator", "y");
}
FullScreenImageActivity.this.startActivity(intent);
}
});
}
}
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">#ec407a</item>
<item name="colorPrimaryDark">#c51162</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>