Search code examples
androidandroid-linearlayoutandroid-xml

Horizontal LinearLayout space between items without padding left and right


I need space between items in LinearLayout without padding on the sides.

This image will explain it:

enter image description here

This is the XML:

    <LinearLayout
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_marginBottom="32dp"
        android:orientation="horizontal">


        <ImageView
            android:id="@+id/rateOneStar"
            android:layout_width="32dp"
            android:layout_height="32dp"
            android:layout_weight="1"
            app:srcCompat="@drawable/ic_star"
            app:tint="@color/ratingStarInactive" />

        <ImageView
            android:id="@+id/rateTwoStar"
            android:layout_width="32dp"
            android:layout_height="32dp"
            android:layout_weight="1"
            app:srcCompat="@drawable/ic_star"
            app:tint="@color/ratingStarInactive" />

        <ImageView
            android:id="@+id/rateThreeStar"
            android:layout_width="32dp"
            android:layout_height="32dp"
            android:layout_weight="1"
            app:srcCompat="@drawable/ic_star"
            app:tint="@color/ratingStarInactive" />

        <ImageView
            android:id="@+id/rateFourStar"
            android:layout_width="32dp"
            android:layout_height="32dp"
            android:layout_weight="1"
            app:srcCompat="@drawable/ic_star"
            app:tint="@color/ratingStarInactive" />

        <ImageView
            android:id="@+id/rateFiveStar"
            android:layout_width="32dp"
            android:layout_height="32dp"
            android:layout_weight="1"
            app:srcCompat="@drawable/ic_star"
            app:tint="@color/ratingStarInactive" />
    </LinearLayout>

Solution

  • Edit: better solution

    Setting layoutWeight on edge views would remove padding around them.

    <LinearLayout
            android:id="@+id/requested"
            android:layout_width="240dp"
            android:layout_height="match_parent"
            android:layout_marginBottom="32dp"
            android:orientation="horizontal"
            app:layout_constraintTop_toBottomOf="@id/original">
    
    
            <ImageView
                android:id="@+id/rateOneStar"
                android:layout_width="32dp"
                android:layout_height="32dp"
                android:layout_weight="0"
                app:srcCompat="@drawable/ic_round_credit_card_24"
                app:tint="@color/colorLightBlack" />
    
            <ImageView
                android:id="@+id/rateTwoStar"
                android:layout_width="32dp"
                android:layout_height="32dp"
                android:layout_weight="1"
                app:srcCompat="@drawable/ic_round_credit_card_24"
                app:tint="@color/colorLightBlack" />
    
            <ImageView
                android:id="@+id/rateThreeStar"
                android:layout_width="32dp"
                android:layout_height="32dp"
                android:layout_weight="0"
                app:srcCompat="@drawable/ic_round_credit_card_24"
                app:tint="@color/colorLightBlack" />
    
            <ImageView
                android:id="@+id/rateFourStar"
                android:layout_width="32dp"
                android:layout_height="32dp"
                android:layout_weight="1"
                app:srcCompat="@drawable/ic_round_credit_card_24"
                app:tint="@color/colorLightBlack" />
    
            <ImageView
                android:id="@+id/rateFiveStar"
                android:layout_width="32dp"
                android:layout_height="32dp"
                android:layout_weight="0"
                app:srcCompat="@drawable/ic_round_credit_card_24"
                app:tint="@color/colorLightBlack" />
        </LinearLayout>
    

    Result