我们知道gridview与Listview、Recyclerview等一起使用时,会发生冲突问题,我们可以重写gridview的OnMeasur() 方法
public class ExpandGridView extends GridView{ public ExpandGridView(Context context) { super(context); } public ExpandGridView(Context context, AttributeSet attrs) { super(context, attrs); } @Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } }
然后在需要gridview的布局处,直接调用这个类
<com.jixiong.teen.view.ExpandGridView android:id="@+id/gridview" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/transparent" android:listSelector="@android:color/transparent" android:numColumns="3" android:scrollbars="none" android:stretchMode="columnWidth" android:horizontalSpacing="@dimen/margin_five" android:verticalSpacing="@dimen/margin_five" android:focusable="false" android:focusableInTouchMode="false" android:paddingRight="@dimen/margin_two" android:paddingLeft="@dimen/margin_two"/>
好了 冲突没了