0

In this below XML. there are Imageview and Progressbar are in same position. means if one is visible then other is Gone.

So, initially imageview is visible bydefault and p.bar visibility is gone. So when user click on delete button, delete visibility will be gone and p.bar will be visible. Now the problem is text is not overlapping for imageview because I did android:layout_toLeftOf="@+id/delete" in linear layout, but when p.bar is visible that time text are overlapping. How can I fix that?

Problem Image: image

Code:

<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView 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="wrap_content"
    android:clickable="true"
    android:focusable="true"
    android:foreground="?selectableItemBackground"
    app:cardCornerRadius="3dp"
    app:cardElevation="5dp"
    app:cardUseCompatPadding="true">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dp">


        <LinearLayout
            android:id="@+id/linear_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:layout_toLeftOf="@+id/delete"
            android:clickable="true"
            android:focusable="true"
            android:orientation="vertical">


            <TextView
                android:id="@+id/eventTitle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="12dp"
                android:textColor="@color/colorBlack"
                android:textSize="18sp"
                android:visibility="gone" />

            <TextView
                android:id="@+id/eventDes"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="12dp"
                android:visibility="gone" />

            <TextView
                android:id="@+id/eventAttendee"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="12dp"
                android:visibility="gone" />

            <TextView
                android:id="@+id/eventStart"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="12dp"
                android:visibility="gone" />

            <TextView
                android:id="@+id/eventEnd"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="12dp"
                android:visibility="gone" />

            <TextView
                android:id="@+id/eventLocation"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="12dp"
                android:visibility="gone" />

        </LinearLayout>

        <ImageView
            android:id="@+id/delete"
            android:layout_width="25dp"
            android:layout_height="25dp"
            android:layout_alignParentEnd="true"
            android:layout_centerVertical="true"
            android:clickable="true"
            android:focusable="true"
            android:tint="@color/colorBlack"
            app:srcCompat="@drawable/ic_baseline_delete_24" />

        <ProgressBar
            android:id="@+id/progress_circular"
            android:layout_centerVertical="true"
            android:layout_width="25dp"
            android:layout_height="25dp"
            android:layout_alignParentEnd="true"
            android:visibility="gone" />


    </RelativeLayout>
</androidx.cardview.widget.CardView>

What I tried:

I tried to wrap ImageView and Progressbar into new relative/linear layout and that layout id, I used for toLeftOf, but it's not working

1 Answers1

1

You can try this layout

<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView 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="wrap_content"
    android:clickable="true"
    android:focusable="true"
    android:foreground="?selectableItemBackground"
    app:cardCornerRadius="3dp"
    app:cardElevation="5dp"
    app:cardUseCompatPadding="true">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dp">


        <LinearLayout
            android:id="@+id/linear_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:layout_toLeftOf="@+id/linear_layout_2"
            android:clickable="true"
            android:focusable="true"
            android:orientation="vertical">


            <TextView
                android:id="@+id/eventTitle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="12dp"
                android:textColor="@color/colorBlack"
                android:textSize="18sp"
                android:visibility="gone" />

            <TextView
                android:id="@+id/eventDes"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="12dp"
                android:visibility="gone" />

            <TextView
                android:id="@+id/eventAttendee"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="12dp"
                android:visibility="gone" />

            <TextView
                android:id="@+id/eventStart"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="12dp"
                android:visibility="gone" />

            <TextView
                android:id="@+id/eventEnd"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="12dp"
                android:visibility="gone" />

            <TextView
                android:id="@+id/eventLocation"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="12dp"
                android:visibility="gone" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/linear_layout_2"
            android:layout_width="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_height="wrap_content"
            android:orientation="vertical">

        <ImageView
            android:id="@+id/delete"
            android:layout_width="25dp"
            android:layout_height="25dp"
            android:layout_alignParentEnd="true"
            android:layout_centerVertical="true"
            android:clickable="true"
            android:focusable="true"
            android:tint="@color/colorBlack"
            app:srcCompat="@drawable/ic_baseline_delete_24" />

        <ProgressBar
            android:id="@+id/progress_circular"
            android:layout_centerVertical="true"
            android:layout_width="25dp"
            android:layout_height="25dp"
            android:layout_alignParentEnd="true"
            android:visibility="gone" />

       </LinearLayout>

    </RelativeLayout>
</androidx.cardview.widget.CardView>
OhhhThatVarun
  • 3,981
  • 2
  • 26
  • 49