android ScrollVIew中嵌套GridView,如何显示GridView

 我来答
QQMSD8
推荐于2016-01-09 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部

GridView(网格视图)是按照行列的方式来显示内容的,一般用于显示图片,图片等内容,比如实现九宫格图,用GridView是首选,也是最简单的。主要用于设置Adapter。

1.GridView常用的XML属性

属性名称 描述

android:columnWidth 设置列的宽度。

android:gravity 设置此组件中的内容在组件中的位置。可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical可以多选,用“|”分开。

android:horizontalSpacing 两列之间的间距。

android:numColumns 设置列数。

android:stretchMode 缩放模式。

android:verticalSpacing 两行之间的间距。


2.实例1 

main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <GridView  
        android:id="@+id/GridView1"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"
        android:columnWidth="90dp"
        android:numColumns="3"
        android:verticalSpacing="10dp"
        android:horizontalSpacing="10dp"
        android:stretchMode="columnWidth"
        android:gravity="center"         
        />
</LinearLayout>

运行效果:



3.实例2

gridview.xml
<?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"
   >
   <GridView  
      android:id="@+id/mygridview"
      android:numColumns="3"
      android:gravity="center_horizontal"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:stretchMode="columnWidth"
      />
</LinearLayout>
 
grid_item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/RelativeLayout1"
   android:layout_width="wrap_content"  
   android:layout_height="fill_parent"
   android:paddingBottom="6dip"
   >
   <ImageView  
      android:id="@+id/image_item"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      />
   <TextView  
      android:id="@+id/text_item"
      android:layout_below="@+id/image_item"
      android:layout_height="wrap_content"
      android:layout_width="wrap_content"
      android:layout_centerHorizontal="true"    
      />
</RelativeLayout>
运行效果图:



4.实例3

main.xml
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"  
    android:id="@+id/gridview"
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"
    android:columnWidth="90dp"
    android:numColumns="auto_fit"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:stretchMode="columnWidth"
    android:gravity="center"
    />
picture_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/root"
    android:orientation="vertical"  
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"  
    android:layout_marginTop="5dp"
    >
    <ImageView  
        android:id="@+id/image"
        android:layout_width="100dp"
        android:layout_height="150dp"  
        android:layout_gravity="center"
        android:scaleType="fitXY"
        android:padding="4dp"
       />
    <TextView  
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"  
        android:layout_gravity="center"
        android:gravity="center_horizontal"
        />
</LinearLayout>
效果图:

菊花信TA0207
推荐于2016-10-27 · 超过78用户采纳过TA的回答
知道答主
回答量:127
采纳率:100%
帮助的人:71.1万
展开全部
在Android开发当中经常会用到了需要ScrollView嵌套GridView或者是ListView的情况,由于这两款控件都自带滚动条,当他们一起使用的时候就会出现GridView或ListView会显示不全的问题。 自定义MyGridView public class MyGridView extends GridView { public MyGridView(Context context) { super(context);} public MyGridView(Context context, AttributeSet attrs) { super(context, attrs);} public MyGridView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle);}@Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec);}}xml中的布局文件: <com.xxx.MyGridView android:id=@+id/mygridview android:layout_width=fill_parent android:layout_height=wrap_content android:gravity=center android:horizontalSpacing=5dp android:numColumns=4 android:stretchMode=columnWidth android:verticalSpacing=6dp / Java调用代码
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式