Android多行gridview横向滑动的实现

关键代码

    /**
     * 设置GridView的宽度
     *
     * @param defaultColumns 设置列数 4
     * @param defaultRows    设置行数 2
     */
    private void setGridViewValue(GridView gridView, int postion, int defaultColumns, int defaultRows) {

        int count = recomGameAdapter.getCount();
        gridView.setAdapter(recomGameAdapterList.get(postion));
        int columns = 0;
        if (count >= 8) {
           //当count大于8时  如下排列
           //| 1 | 3 | 5 | 7 |
           //| 2 | 4 | 6 | 8 |
            columns = (count % 2 == 0) ? count / 2 : count / 2 + 1;
        } else {
           //当count小于于8时  如下排列
           //| 1 | 2 | 3 | 4 |
           //| 5 | 6 | 7 | 8 |
            columns = (count % defaultRows == 0) ? count / defaultRows : count / defaultRows + 1;
            if (columns < defaultColumns) {
                columns = defaultColumns;
            }
        }

        int columnWidth = (dm.widthPixels - mContext.getResources().getDimensionPixelOffset(R.dimen.home_common_margin) * 2) / defaultColumns;
        RelativeLayout.LayoutParams params =
                new RelativeLayout.LayoutParams
                        (columns * columnWidth, RelativeLayout.LayoutParams.WRAP_CONTENT);
        gridView.setLayoutParams(params);
        gridView.setColumnWidth(columnWidth);
        // gridView.setHorizontalSpacing(hSpacing);
        gridView.setStretchMode(GridView.NO_STRETCH);
        gridView.setNumColumns(columns);
    }

布局文件

<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrollView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:fillViewport="true"
    android:scrollbars="none">

    <GridView
        android:id="@+id/recom_game_gv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/day_recom_rl"
        android:numColumns="4"
        android:scrollbars="none"
        android:stretchMode="columnWidth"></GridView>

    <
</HorizontalScrollView>

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 04:18:41

Android多行gridview横向滑动的实现的相关文章

android 单行gridview横向滑动的实现

android 单行gridview横向滑动的实现 首先重写下GridView HorizontalGridView.java public class HorizontalGridView extends GridView { public HorizontalGridView(Context context, AttributeSet attrs) { super(context, attrs); } public HorizontalGridView(Context context) {

横向滑动的GridView

思路: GridView行数设置为一行,外面套一个HorizontalScrollView,代码中设置GridView宽度 xml代码 <HorizontalScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="none" > <LinearLayout android:lay

进阶三之Android UI介面之(滑动效果之Gallery + GridView)

人一生下就会哭,笑是后来才学会的.所以忧伤是一种低级的本能,而快乐是一种更高级的能力. 本讲内容:滑动效果之Gallery + GridView Android系统自带一个GridView和Gallery两个控件,GridView网格显示,Gallery单个浏览,两者结合起来可以真正实现Gallery浏览图片效果. 示例效果图         下面是res/layout/activity_main.xml 布局文件: <?xml version="1.0" encoding=&q

Android 自定义 HorizontalScrollView 打造再多图片(控件)也不怕 OOM 的横向滑动效果

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38140505 自从Gallery被谷歌废弃以后,Google推荐使用ViewPager和HorizontalScrollView来实现Gallery的效果.的确HorizontalScrollView可以实现Gallery的效果,但是HorizontalScrollView存在一个很大的问题,如果你仅是用来展示少量的图片,应该是没问题的,但是如果我希望HorizontalScr

android Fragment 实例 Listfragment listiew 下拉刷新 上拉加载 横向滑动事件监听

Android Fragment开发实例及他色功能说明 代码太长,请网盘下载附件源代码: http://yunpan.cn/cs24a2Z7C5kRk (提取码:a0cf)  有疑问的欢迎联系QQ972910164 一. CustomListView说明:可下拉刷新,上拉加载,横向滑动接口回调, /** * 功能类似ListView,天机以下特性: * 1. 可下拉刷新,上拉加载,实现CustomListView.OnPullListener接口 * 3. Slide切换,实现CustomLis

Android学QQ空间相册浏览类型横向滑动效果显示多图片MyHorizontalScrollView

Android学QQ空间相册浏览类型横向滑动效果显示多图片MyHorizontalScrollView 我们来定制一下吧 布局文件:activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="m

Android中不同方向嵌套滑动的解决方式(ListView为样例)

前言: 就像手机QQ的聊天消息列表.一个纵向滑动的ListView列举全部消息,但每一条消息能够横向滑动. 而默认情况下,仅仅能有一个地方消化处理触摸事件,要么ListView吃掉这个事件.要么子Item中能滑动的部件吃掉.两者互相冲突. 是否认为非常分裂?实现起来事实上不复杂. 理解了以后,能够方便延伸到GridView,ViewPager,ScrollView等等滑动控件. 假设对Andoroid触摸事件传递过程不熟悉,请看这里: 为了最简单表达实现方法,我以一个LinearLayout为L

Android实现浮层的上下滑动(支持内部加入View)

前言 我K.今天竟然是情人节.对于资深的单身狗来说,简直是个噩耗,今天注定是各种秀恩爱.心塞中.. .. 话题到此结束,管他什么情人节,今天给大家带来的是一个浮层的上下滑动,浮层滑动时分三种状态:所有显示.显 示一半.隐藏.可在浮层中加入ListView,GirdView,ImageView等等View. 详细的效果看以下的GIF图: 效果解说 1.在上面的浮层中我们能够看到存放着一个ListView.并能进行上下滚动,也就是说浮层的Touch事件须要在适 当的时候进行拦截,不传递给子View.

横向滑动的listview效果的实现方法,scrollview嵌套水平滑动的listview卡顿的解决方法

很多时候,界面需要实现横向滑动的listview效果.网络上有一种方法,自定义了HorizontalListView,用法同正常的listview,可实现水平滑动效果. 但是如果一个界面 为垂直滑动的scrollview嵌套水平滑动的listview的时候,滑动水平listview的时候,会很卡.我最近就遇到了这样的问题,一直把思路放在监听水平和垂直滑动手势,想实现滑动角度小于45的时候 垂直的scrollview 滑动效果被禁止.但是一直没有研究出来. 于是一个偶然的机会,灵光一闪,想到用Ho