Search code examples
javaandroidandroid-studiotextview

Hiding all textViews in Android Studio with a white image


I'm trying to hide hide all contents of my screen for 10 seconds with a white image but it seems that the text appears on top of the white image no matter what. Is there a way to hide the textView (or any other imageViews in the future) using the white image? Thanks!

Here's my main activity class:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
     final ImageView splash = findViewById(R.id.imageView);
    splash.setScaleType(ImageView.ScaleType.FIT_XY);
    splash.postDelayed(new Runnable() {
        @Override
        public void run() {
            splash.setVisibility(View.GONE);
        }
    }, 10000);
}}

Here's my XML file:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    android:textSize="24sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.544"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<ImageView
    android:id="@+id/imageView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:srcCompat="@drawable/white" />

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="172dp"
    android:layout_marginTop="268dp"
    android:text="TextToHide"
    android:textSize="36sp"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

enter image description here

enter image description here


Solution

  • If You want ImageView to be on TextView You have to first add to XML TextView then ImageView like this:

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_bias="0.544"
        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_marginStart="172dp"
        android:layout_marginTop="268dp"
        android:text="TextToHide"
        android:textSize="36sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/white" />
    

    Now Your TextView will be behind ImageView

    I don't know what You want to do but I think it will be just easier to set TextView visibility to GONE or INVISIBLE than to put ImageView on content that You want to hide.