Loading res/layout/item_doc_grid.xml +2 −2 Original line number Diff line number Diff line Loading @@ -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" Loading Loading @@ -140,4 +140,4 @@ android:contentDescription="@null" android:duplicateParentState="true" /> </FrameLayout> </com.android.documentsui.GridItem> res/layout/item_loading_grid.xml +2 −2 Original line number Diff line number Diff line Loading @@ -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"> Loading @@ -26,4 +26,4 @@ android:indeterminate="true" style="?android:attr/progressBarStyle" /> </FrameLayout> </com.android.documentsui.GridItem> res/layout/item_message_grid.xml +2 −2 Original line number Diff line number Diff line Loading @@ -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" Loading Loading @@ -48,4 +48,4 @@ </LinearLayout> </FrameLayout> </com.android.documentsui.GridItem> src/com/android/documentsui/GridItem.java 0 → 100644 +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); } } Loading
res/layout/item_doc_grid.xml +2 −2 Original line number Diff line number Diff line Loading @@ -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" Loading Loading @@ -140,4 +140,4 @@ android:contentDescription="@null" android:duplicateParentState="true" /> </FrameLayout> </com.android.documentsui.GridItem>
res/layout/item_loading_grid.xml +2 −2 Original line number Diff line number Diff line Loading @@ -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"> Loading @@ -26,4 +26,4 @@ android:indeterminate="true" style="?android:attr/progressBarStyle" /> </FrameLayout> </com.android.documentsui.GridItem>
res/layout/item_message_grid.xml +2 −2 Original line number Diff line number Diff line Loading @@ -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" Loading Loading @@ -48,4 +48,4 @@ </LinearLayout> </FrameLayout> </com.android.documentsui.GridItem>
src/com/android/documentsui/GridItem.java 0 → 100644 +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); } }