Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2207fa02 authored by Ben Kwa's avatar Ben Kwa Committed by Android (Google) Code Review
Browse files

Merge "Make grid items be square."

parents 6895b777 1bb3abe4
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
     limitations under the License.
-->

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
<com.android.documentsui.GridItem xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="@dimen/grid_item_height"
    android:layout_margin="@dimen/grid_item_margin"
@@ -140,4 +140,4 @@
        android:contentDescription="@null"
        android:duplicateParentState="true" />

</FrameLayout>
</com.android.documentsui.GridItem>
+2 −2
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
     limitations under the License.
-->

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
<com.android.documentsui.GridItem xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="@dimen/grid_height"
    android:orientation="horizontal">
@@ -26,4 +26,4 @@
        android:indeterminate="true"
        style="?android:attr/progressBarStyle" />

</FrameLayout>
</com.android.documentsui.GridItem>
+2 −2
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
     limitations under the License.
-->

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
<com.android.documentsui.GridItem xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="@dimen/grid_height"
    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
@@ -48,4 +48,4 @@

    </LinearLayout>

</FrameLayout>
</com.android.documentsui.GridItem>
+51 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2015 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.documentsui;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.FrameLayout;

/**
 * A FrameLayout subclass used by DirectoryFragment. Ensures that the resulting grid item is always
 * square.
 */
public class GridItem extends FrameLayout {
    public GridItem(Context context) {
        super(context);
    }

    public GridItem(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public GridItem(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    @Override
    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        // Grid layout uses item width to figure out the number of columns, then dynamically fits
        // rows into the view. The upshot of this is that changing the item width will mess up the
        // grid layout - so to make the items square, throw out the height and use the width for
        // both dimensions. The grid layout will correctly adjust the row height.
        //
        // Note that this code will need to be changed if the layout manager's orientation is
        // changed from VERTICAL to HORIZONTAL.
        super.onMeasure(widthMeasureSpec, widthMeasureSpec);
    }
}