Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Gridview height gets cut
- <GridView
- android:id="@+id/myId"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:gravity="center"
- android:horizontalSpacing="2dp"
- android:isScrollContainer="false"
- android:numColumns="4"
- android:stretchMode="columnWidth"
- android:verticalSpacing="20dp" />
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:minHeight="?android:attr/listPreferredItemHeight"
- >
- <ImageView
- android:id="@+id/appItemIcon"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:src="@android:drawable/ic_dialog_info"
- android:scaleType="center"
- >
- </ImageView>
- <TextView
- android:id="@+id/appItemText"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="My long application name"
- android:gravity="center_horizontal"
- android:textAppearance="?android:attr/textAppearanceSmall" />
- </LinearLayout>
- package com.example;
- public class ExpandableHeightGridView extends GridView
- {
- boolean expanded = false;
- public ExpandableHeightGridView(Context context)
- {
- super(context);
- }
- public ExpandableHeightGridView(Context context, AttributeSet attrs)
- {
- super(context, attrs);
- }
- public ExpandableHeightGridView(Context context, AttributeSet attrs,
- int defStyle)
- {
- super(context, attrs, defStyle);
- }
- public boolean isExpanded()
- {
- return expanded;
- }
- @Override
- public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
- {
- // HACK! TAKE THAT ANDROID!
- if (isExpanded())
- {
- // Calculate entire height by providing a very large height hint.
- // But do not use the highest 2 bits of this integer; those are
- // reserved for the MeasureSpec mode.
- int expandSpec = MeasureSpec.makeMeasureSpec(
- Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
- super.onMeasure(widthMeasureSpec, expandSpec);
- ViewGroup.LayoutParams params = getLayoutParams();
- params.height = getMeasuredHeight();
- }
- else
- {
- super.onMeasure(widthMeasureSpec, heightMeasureSpec);
- }
- }
- public void setExpanded(boolean expanded)
- {
- this.expanded = expanded;
- }
- }
- <com.example.ExpandableHeightGridView
- android:id="@+id/myId"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="center"
- android:horizontalSpacing="2dp"
- android:isScrollContainer="false"
- android:numColumns="4"
- android:stretchMode="columnWidth"
- android:verticalSpacing="20dp" />
- mAppsGrid = (ExpandableHeightGridView) findViewById(R.id.myId);
- mAppsGrid.setExpanded(true);
Advertisement
Add Comment
Please, Sign In to add comment