Android控件gridview实现单行多列横向滚动效果
作者:Xurns 发布时间:2022-09-11 10:53:49
标签:Android,gridview,滚动
本文实例为大家分享了安卓实现单行多列横向滚动,供大家参考,具体内容如下
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="1" >
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="88dp"
android:layout_column="0"
android:layout_gravity="left|bottom"
android:layout_row="0" >
<LinearLayout
android:id="@+id/linearLayout_gridtableLayout"
android:layout_width="1000dp"
android:layout_height="79dp"
android:orientation="horizontal" >
<GridView
android:id="@+id/gridview1"
android:layout_width="600dp"
android:layout_height="match_parent"
android:background="#ffffff"
android:columnWidth="100dp"
android:gravity="center"
android:horizontalSpacing="1dp"
android:numColumns="6"
android:scrollbarAlwaysDrawHorizontalTrack="true"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:scrollbars="horizontal|vertical"
android:verticalSpacing="1dp" />
</LinearLayout>
</HorizontalScrollView>
</GridLayout>
指定其中LinearLayout的宽度就能够实现你GridView的长宽变化,如果它的长超过屏幕,则自动添加水平滚动条。
private int[] icon = { R.drawable.camera, R.drawable.wifi, R.drawable.temperature,
R.drawable.lamp, R.drawable.wechat, R.drawable.mic, };
private String[] iconName = { "摄像头", "网络", "温湿度", "电器", "微信", "语音" };
private GridView gview;
private List<Map<String, Object>> data_list;
private SimpleAdapter sim_adapter;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//gridview数据适配器
gview = (GridView) findViewById(R.id.gridview1);
//新建List
data_list = new ArrayList<Map<String, Object>>();
//获取数据
getData();
//新建适配器
String [] from ={"image","text"};
int [] to = {R.id.image,R.id.title};
sim_adapter = new SimpleAdapter(this, data_list, R.layout.items, from, to);
//配置适配器
gview.setAdapter(sim_adapter);
}
public List<Map<String, Object>> getData(){
//cion和iconName的长度是相同的,这里任选其一都可以
for(int i=0;i<icon.length;i++){
Map<String, Object> map = new HashMap<String, Object>();
map.put("image", icon[i]);
map.put("text", iconName[i]);
data_list.add(map);
}
return data_list;
}
Fragment里:
oncreate里边初始化数据,oncreateview里边初始化gridview和绑定适配器
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view = inflater.inflate(R.layout.gridview,container, false);
gridview = (GridView) view.findViewById(R.id.gridview1);
//新建List
data_list = new ArrayList<Map<String, Object>>();
//http://www.cnblogs.com/xiaobo-Linux/ qq463431476
//获取数据
getData();
//新建适配器
String [] from ={"image","text"};
int [] to = {R.id.image,R.id.title};
sim_adapter = new SimpleAdapter(getActivity(), data_list, R.layout.items, from, to);
//配置适配器
gridview.setAdapter(sim_adapter);
return view;
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
// http://www.cnblogs.com/xiaobo-Linux/ qq463431476
public List<Map<String, Object>> getData(){
//cion和iconName的长度是相同的,这里任选其一都可以
for(int i=0;i<icon.length;i++){
Map<String, Object> map = new HashMap<String, Object>();
map.put("image", icon[i]);
map.put("text", iconName[i]);
data_list.add(map);
}
return data_list;
}
来源:https://blog.csdn.net/Xurns/article/details/51535377


猜你喜欢
- 在日常工作中,我们可能需要连接多个MongoDB数据源,比如用户库user,日志库log。本章我们来记录连接多个数据源的步骤,以两个数据源为
- 在8 里面Lambda是最火的主题,不仅仅是因为语法的改变,更重要的是带来了函数式编程的思想,我觉得优秀的程序员,有必要学习一下函数式编程的
- 前言任何使用过基于 Java 的企业级后端应用的软件开发者都会遇到过这种低劣、奇怪的报错,这些报错来自于用户或是测试工程师: java.la
- java list,set,map,数组间的相互转换详解1.list转setSet set = new HashSet( new Array
- 解决库存扣减及订单创建时防止并发死锁的问题在我们日常开发的过程可有会遇到以下错误事务(进程 ID 82)与另一个进程被死锁在 锁 资源上,并
- 其中包含两个jsp文件,分别为login.jsp和index.jsp代码如下:login.jsp<%@ page language=&
- 该篇文章是说明在Android手机或平板电脑中如何实现截取当前屏幕的功能,并把截取的屏幕保存到SDCard中的某个目录文件夹下面。实现的代码
- layout<?xml version="1.0"?>-<LinearLayout android:p
- 前言:上篇C#进阶系列——WebApi接口传参不再困惑:传参详解介绍了WebApi参数的传递,这篇来看看WebApi里面异常的处理。关于异常
- 由 CardLayout 类实现的布局管理器称为卡片布
- 日常开发中,判断邮箱是少不了的,这个我以**C#**为例,来写一个判断方法,正则表达式是通用的,CV就可以首先引入正则需要使用的命名空间//
- 双向循环链表定义相比于单链表,有两个指针,next指针指向下一个结点,prior指针指向上一个结点,最后一个结点的next指针指向头结点,头
- 1.servlet:定义:接口2.配置servlet:public class HelloServlet extends HttpServl
- spring-AOP 及 AOP获取request各项参数AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事
- 概述从今天开始, 小白我将带大家开启 Java 数据结构 & 算法的新篇章.获取哈希值hashCode()方法可以返回一个对象的哈希
- 前言Spring JPA是目前比较常用的ORM解决方案,但是其对于某些场景并不是特别的方便,例如查询部分字段,联表查询,子查询等。而接下来我
- 实验题目:MapReduce:编程实验内容:本实验利用 Hadoop 提供的 Java API 进行编程进行 MapReduce 编程。实验
- 前言在Java开发者中,字符串的拼接占用资源高往往是热议的话题.让我们深入讨论一下为什么会占用高资源。在Java中,字符串对象是不可变的,意
- java数据类型与二进制详细介绍在java中Int 类型的变量占 4个字节Long 类型的变量占8个字节一个程序就是一个世界,变量是这个程序
- 在Spring MVC中经常要用到 * ,在配置需要要拦截的路径时经常用到<mvc:mapping/>子标签,其有一个path属