zoukankan      html  css  js  c++  java
  • 【Android】ScrollView+GridView 显示问题

    在使用Android的ScrollView里面嵌套GridView时,设置android:layout_height="wrap_content"属性,运行界面的效果不会出现全部数据,即GridView会显示不全。 

    解决方法:重写GridView的onMeasure()方法,使其不会出现滚动条即可。

     1 package com.example.gridview;
     2 
     3 import android.content.Context;
     4 import android.util.AttributeSet;
     5 import android.widget.GridView;
     6 
     7 public class MyGridView extends GridView {
     8 
     9     public MyGridView(Context context) {
    10         super(context);
    11     }
    12 
    13     public MyGridView(Context context, AttributeSet attrs) {
    14         super(context, attrs);
    15     }
    16 
    17     public MyGridView(Context context, AttributeSet attrs, int defStyle) {
    18         super(context, attrs, defStyle);
    19     }
    20 
    21     @Override
    22     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    23         int expandSpec = MeasureSpec.makeMeasureSpec( 
    24                     Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); 
    25         super.onMeasure(widthMeasureSpec, expandSpec); 
    26     }
    27 
    28 }

    然后在布局文件里面引用重写的GridView控件。

     1 <com.example.gridview.MyGridView
     2             android:id="@+id/gv1"
     3             android:layout_width="fill_parent"
     4             android:layout_height="wrap_content"
     5             android:background="@color/gv1"
     6             android:columnWidth="@dimen/itemSize"
     7             android:gravity="center"
     8             android:horizontalSpacing="@dimen/horiz_spac"
     9             android:numColumns="auto_fit"
    10             android:scrollbarStyle="insideOverlay"
    11             android:scrollbars="vertical"
    12             android:stretchMode="columnWidth"
    13             android:verticalSpacing="@dimen/vertc_space" />

    最后设置Adapter即可。

     1 package com.example.gridview;
     2 
     3 import android.app.Activity;
     4 import android.os.Bundle;
     5 import android.widget.GridView;
     6 
     7 public class MainActivity extends Activity {
     8 
     9     @Override
    10     protected void onCreate(Bundle savedInstanceState) {
    11         super.onCreate(savedInstanceState);
    12         setContentView(R.layout.grid_view);
    13         
    14         GridView gv=(GridView)findViewById(R.id.gv1);
    15         gv.setAdapter(new GridAdapter(this,R.layout.grid_item));
    16     }
    17 }
  • 相关阅读:
    穷举
    菱形
    6.824 Lab 3: Fault-tolerant Key/Value Service 3A
    6.824 Lab 2: Raft 2C
    6.824 Lab 2: Raft 2B
    一文学会Rust?
    字符串相似度匹配
    解决gson解析long自动转为科学计数的问题
    commonJs requirejs amd 之间的关系
    关于package.json的理解
  • 原文地址:https://www.cnblogs.com/zengweiming/p/3314021.html
Copyright © 2011-2022 走看看