- 浏览: 183329 次
- 性别:
- 来自: 云南
文章分类
最新评论
-
chencangui:
楼主能分享下源码吗?蟹蟹了
Android使用VideoView播放网络视频 -
liulongke:
表示看完完全没看出来是繁体字的默默走过。。。
PagerAdapter用法 -
Alexia23:
很赞很详细!
JAVA列出目录下所有的文件&文件夹 -
snso001:
繁体字恶心了。。。
PagerAdapter用法 -
wushanlin123:
楼主,你的繁体字让我蛋碎了一地
PagerAdapter用法
GridView 横向滚动 .
分类: android java 2012-08-07 23:16 81人阅读 评论(0) 收藏 举报
GridView和ListView都是android比较重要的控件,但是横滚的控件不是太多。
这里介绍怎么把GridView横向滚动起来,看到其他网友也有相应的解决方法,自己只是把这些知识总结一下,供大家参考!
首先让GridView横向滚动需要HorizontalScrollView这个控件,例如:
[html] view plaincopyprint?
01.<SPAN style="FONT-FAMILY: 'Microsoft YaHei'; FONT-SIZE: 14px"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
02. xmlns:tools="http://schemas.android.com/tools"
03. android:layout_width="fill_parent"
04. android:layout_height="fill_parent" >
05.
06. <HorizontalScrollView
07. android:layout_width="fill_parent"
08. android:layout_height="wrap_content"
09. android:scrollbars="none" >
10.
11. <LinearLayout
12. android:layout_width="fill_parent"
13. android:layout_height="wrap_content"
14. android:orientation="horizontal" >
15.
16. <GridView
17. android:id="@+id/gridview"
18. android:layout_width="fill_parent"
19. android:layout_height="wrap_content"
20. android:layout_gravity="center" >
21. </GridView>
22. </LinearLayout>
23. </HorizontalScrollView>
24.
25.</LinearLayout></SPAN>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="none" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<GridView
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center" >
</GridView>
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
以上是主要布局,然后我们写GridView中每个item中的布局,比较简单,只是给大家介绍下:
[html] view plaincopyprint?
01.<SPAN style="FONT-FAMILY: 'Microsoft YaHei'; FONT-SIZE: 14px"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
02. xmlns:tools="http://schemas.android.com/tools"
03. android:layout_width="fill_parent"
04. android:layout_height="wrap_content"
05. android:orientation="vertical" >
06.
07. <ImageView
08. android:layout_width="100dp"
09. android:layout_height="100dp"
10. android:background="#00ff00" />
11.
12. <TextView
13. android:id="@+id/item_textview"
14. android:layout_width="100dp"
15. android:layout_height="20dp"
16. android:gravity="center" />
17.
18.</LinearLayout></SPAN>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#00ff00" />
<TextView
android:id="@+id/item_textview"
android:layout_width="100dp"
android:layout_height="20dp"
android:gravity="center" />
</LinearLayout>
上面是item的布局,比较简单,就是一个ImageView和TextView,然后是主要实现GridView的Adapter。
以下是Activity的实现方法。
[java] view plaincopyprint?
01.<SPAN style="FONT-FAMILY: 'Microsoft YaHei'; FONT-SIZE: 14px">public class MainActivity extends Activity {
02.
03. private GridView gridView;
04. private LayoutInflater inflater;
05. private List<String> dataList = new ArrayList<String>();
06.
07. @Override
08. public void onCreate(Bundle savedInstanceState) {
09. super.onCreate(savedInstanceState);
10. setContentView(R.layout.activity_main);
11. gridView = (GridView) this.findViewById(R.id.gridview);
12. for (int i = 0; i < 10; i++) {
13. dataList.add("测试" + i);
14. }
15. inflater = (LayoutInflater) this
16. .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
17. GridViewAdapter adapter = new GridViewAdapter();
18. gridView.setAdapter(adapter);
19. int size = dataList.size();
20. DisplayMetrics dm = new DisplayMetrics();
21. getWindowManager().getDefaultDisplay().getMetrics(dm);
22. float density = dm.density;
23. int allWidth = (int) (110 * size * density);
24. int itemWidth = (int) (100 * density);
25. LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
26. allWidth, LinearLayout.LayoutParams.FILL_PARENT);
27. gridView.setLayoutParams(params);
28. gridView.setColumnWidth(itemWidth);
29. gridView.setHorizontalSpacing(10);
30. gridView.setStretchMode(GridView.NO_STRETCH);
31. gridView.setNumColumns(size);
32. }
33.
34. @Override
35. public boolean onCreateOptionsMenu(Menu menu) {
36. getMenuInflater().inflate(R.menu.activity_main, menu);
37. return true;
38. }
39.
40. final class GridViewAdapter extends BaseAdapter {
41.
42. @Override
43. public int getCount() {
44. return dataList.size();
45. }
46.
47. @Override
48. public Object getItem(int position) {
49. return dataList.get(position);
50. }
51.
52. @Override
53. public long getItemId(int position) {
54. return position;
55. }
56.
57. @Override
58. public View getView(int position, View convertView, ViewGroup parent) {
59. convertView = inflater.inflate(R.layout.gridview_item, null);
60. TextView textView = (TextView) convertView
61. .findViewById(R.id.item_textview);
62. String str = dataList.get(position);
63. textView.setText(str);
64. return convertView;
65. }
66.
67. }
68.}</SPAN>
public class MainActivity extends Activity {
private GridView gridView;
private LayoutInflater inflater;
private List<String> dataList = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridView = (GridView) this.findViewById(R.id.gridview);
for (int i = 0; i < 10; i++) {
dataList.add("测试" + i);
}
inflater = (LayoutInflater) this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
GridViewAdapter adapter = new GridViewAdapter();
gridView.setAdapter(adapter);
int size = dataList.size();
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
float density = dm.density;
int allWidth = (int) (110 * size * density);
int itemWidth = (int) (100 * density);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
allWidth, LinearLayout.LayoutParams.FILL_PARENT);
gridView.setLayoutParams(params);
gridView.setColumnWidth(itemWidth);
gridView.setHorizontalSpacing(10);
gridView.setStretchMode(GridView.NO_STRETCH);
gridView.setNumColumns(size);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
final class GridViewAdapter extends BaseAdapter {
@Override
public int getCount() {
return dataList.size();
}
@Override
public Object getItem(int position) {
return dataList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = inflater.inflate(R.layout.gridview_item, null);
TextView textView = (TextView) convertView
.findViewById(R.id.item_textview);
String str = dataList.get(position);
textView.setText(str);
return convertView;
}
}
}
主要是设置GridView的LayoutParams,new 这个LayoutParams对象必须是这个View所在Layout的布局类型,然后设置GridView总长度和每个item的长度,然后设置总个数就可以实现横滚的效果!
分类: android java 2012-08-07 23:16 81人阅读 评论(0) 收藏 举报
GridView和ListView都是android比较重要的控件,但是横滚的控件不是太多。
这里介绍怎么把GridView横向滚动起来,看到其他网友也有相应的解决方法,自己只是把这些知识总结一下,供大家参考!
首先让GridView横向滚动需要HorizontalScrollView这个控件,例如:
[html] view plaincopyprint?
01.<SPAN style="FONT-FAMILY: 'Microsoft YaHei'; FONT-SIZE: 14px"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
02. xmlns:tools="http://schemas.android.com/tools"
03. android:layout_width="fill_parent"
04. android:layout_height="fill_parent" >
05.
06. <HorizontalScrollView
07. android:layout_width="fill_parent"
08. android:layout_height="wrap_content"
09. android:scrollbars="none" >
10.
11. <LinearLayout
12. android:layout_width="fill_parent"
13. android:layout_height="wrap_content"
14. android:orientation="horizontal" >
15.
16. <GridView
17. android:id="@+id/gridview"
18. android:layout_width="fill_parent"
19. android:layout_height="wrap_content"
20. android:layout_gravity="center" >
21. </GridView>
22. </LinearLayout>
23. </HorizontalScrollView>
24.
25.</LinearLayout></SPAN>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="none" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<GridView
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center" >
</GridView>
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
以上是主要布局,然后我们写GridView中每个item中的布局,比较简单,只是给大家介绍下:
[html] view plaincopyprint?
01.<SPAN style="FONT-FAMILY: 'Microsoft YaHei'; FONT-SIZE: 14px"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
02. xmlns:tools="http://schemas.android.com/tools"
03. android:layout_width="fill_parent"
04. android:layout_height="wrap_content"
05. android:orientation="vertical" >
06.
07. <ImageView
08. android:layout_width="100dp"
09. android:layout_height="100dp"
10. android:background="#00ff00" />
11.
12. <TextView
13. android:id="@+id/item_textview"
14. android:layout_width="100dp"
15. android:layout_height="20dp"
16. android:gravity="center" />
17.
18.</LinearLayout></SPAN>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#00ff00" />
<TextView
android:id="@+id/item_textview"
android:layout_width="100dp"
android:layout_height="20dp"
android:gravity="center" />
</LinearLayout>
上面是item的布局,比较简单,就是一个ImageView和TextView,然后是主要实现GridView的Adapter。
以下是Activity的实现方法。
[java] view plaincopyprint?
01.<SPAN style="FONT-FAMILY: 'Microsoft YaHei'; FONT-SIZE: 14px">public class MainActivity extends Activity {
02.
03. private GridView gridView;
04. private LayoutInflater inflater;
05. private List<String> dataList = new ArrayList<String>();
06.
07. @Override
08. public void onCreate(Bundle savedInstanceState) {
09. super.onCreate(savedInstanceState);
10. setContentView(R.layout.activity_main);
11. gridView = (GridView) this.findViewById(R.id.gridview);
12. for (int i = 0; i < 10; i++) {
13. dataList.add("测试" + i);
14. }
15. inflater = (LayoutInflater) this
16. .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
17. GridViewAdapter adapter = new GridViewAdapter();
18. gridView.setAdapter(adapter);
19. int size = dataList.size();
20. DisplayMetrics dm = new DisplayMetrics();
21. getWindowManager().getDefaultDisplay().getMetrics(dm);
22. float density = dm.density;
23. int allWidth = (int) (110 * size * density);
24. int itemWidth = (int) (100 * density);
25. LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
26. allWidth, LinearLayout.LayoutParams.FILL_PARENT);
27. gridView.setLayoutParams(params);
28. gridView.setColumnWidth(itemWidth);
29. gridView.setHorizontalSpacing(10);
30. gridView.setStretchMode(GridView.NO_STRETCH);
31. gridView.setNumColumns(size);
32. }
33.
34. @Override
35. public boolean onCreateOptionsMenu(Menu menu) {
36. getMenuInflater().inflate(R.menu.activity_main, menu);
37. return true;
38. }
39.
40. final class GridViewAdapter extends BaseAdapter {
41.
42. @Override
43. public int getCount() {
44. return dataList.size();
45. }
46.
47. @Override
48. public Object getItem(int position) {
49. return dataList.get(position);
50. }
51.
52. @Override
53. public long getItemId(int position) {
54. return position;
55. }
56.
57. @Override
58. public View getView(int position, View convertView, ViewGroup parent) {
59. convertView = inflater.inflate(R.layout.gridview_item, null);
60. TextView textView = (TextView) convertView
61. .findViewById(R.id.item_textview);
62. String str = dataList.get(position);
63. textView.setText(str);
64. return convertView;
65. }
66.
67. }
68.}</SPAN>
public class MainActivity extends Activity {
private GridView gridView;
private LayoutInflater inflater;
private List<String> dataList = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridView = (GridView) this.findViewById(R.id.gridview);
for (int i = 0; i < 10; i++) {
dataList.add("测试" + i);
}
inflater = (LayoutInflater) this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
GridViewAdapter adapter = new GridViewAdapter();
gridView.setAdapter(adapter);
int size = dataList.size();
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
float density = dm.density;
int allWidth = (int) (110 * size * density);
int itemWidth = (int) (100 * density);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
allWidth, LinearLayout.LayoutParams.FILL_PARENT);
gridView.setLayoutParams(params);
gridView.setColumnWidth(itemWidth);
gridView.setHorizontalSpacing(10);
gridView.setStretchMode(GridView.NO_STRETCH);
gridView.setNumColumns(size);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
final class GridViewAdapter extends BaseAdapter {
@Override
public int getCount() {
return dataList.size();
}
@Override
public Object getItem(int position) {
return dataList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = inflater.inflate(R.layout.gridview_item, null);
TextView textView = (TextView) convertView
.findViewById(R.id.item_textview);
String str = dataList.get(position);
textView.setText(str);
return convertView;
}
}
}
主要是设置GridView的LayoutParams,new 这个LayoutParams对象必须是这个View所在Layout的布局类型,然后设置GridView总长度和每个item的长度,然后设置总个数就可以实现横滚的效果!
发表评论
-
实现android版 喝优团 引入第三方QQ登录
2014-07-23 12:07 672喝优团 引入第三方QQ登录 -
android版喝优团
2014-07-18 20:30 658喝优团是由大众点评提供数据的手机APP生活消费之一,创 ... -
android论坛网站,里面可以找到很多案例源码
2014-06-03 13:57 79851cto http://mobile.51cto.com/ ... -
Android手机中获取手机号码和运营商信息
2013-09-23 15:05 964来自于http://blog.csdn.net/peijian ... -
Android+JNI调用–文件操作
2013-08-27 18:26 1196这个讲的不错http://www.linuxidc.com/L ... -
Android的NDK开发
2013-08-27 16:01 747http://blog.csdn.net/conowen/ar ... -
Android的NDK开发(5)————Android JNI层实现文件的read、write与seek操作
2013-08-27 14:37 1012不错 http://blog.csdn.net/luhuajc ... -
Eclipse NDK 配置
2013-08-23 14:54 703http://www.cnblogs.com/chenjiaj ... -
八款开源 Android 游戏引擎
2013-08-20 18:01 7091、Angle Angle是一款专 ... -
Android连接SQLServer详细教程(数据库+服务器+客户端)
2013-08-15 11:22 1834来源于http://www.6619.net/a/kaifal ... -
Android adb shell 命令
2013-08-12 18:43 683adb 概述 SDK的Tools文件夹下包含着Andro ... -
安卓巴士总结了近百个Android优秀开源项目,覆盖Android开发的每个领域
2013-08-09 20:17 918来源于http://blog.chinaunix.net/ui ... -
android实现显示阳历和农历源码
2013-08-06 21:02 1709来自于http://blog.csdn.net/meshles ... -
android 字体使用自定义的.ttf文件
2013-08-06 20:55 1185这篇文章http://tank03.iteye.com/blo ... -
Android 文件打开方式
2013-08-04 17:56 1652来源于 http://blog.csdn.net/weich_ ... -
详解Android中AsyncTask的使用(简单易懂
2013-08-01 22:06 906from 来此这篇博客。非常不错 -
build.prop详解之修改ROM中默认语言,默认铃声,默认时区,版本信息打造个性rom
2013-07-29 18:29 2914# begin build properties开始设置系统性 ... -
Android系统默认值的设置
2013-07-29 18:28 9951开机图片: android-logo-mask.png ... -
android系统开发设置
2013-07-29 18:27 43761,开机不停震动 手机开机,马达一直震动,应该是uboot正 ... -
ANDROID 隐藏 任务栏 systemui systembar 全屏显示
2013-07-26 14:00 3451ANDROID 隐藏 任务栏 systemui systemb ...
相关推荐
### GridView固定表头实现——横向滚动与纵向固定 在网页应用开发中,特别是涉及到大量数据展示的情况下,如何优雅地处理表格中的数据展示成为一个重要的技术挑战。本文将通过一个具体的实例来探讨如何实现在使用...
"GridView固定表头横向滚动纵向固定" GridView是一个基于ASP.NET的数据控件,用于显示数据表格。然而,在默认情况下,GridView的表头无法固定在屏幕上,使得用户体验不佳。为了解决这个问题,本文将介绍如何实现...
因此,可能需要监听焦点变化,当焦点从一个GridView的最后一个项目移到下一个项目时,模拟向左或向右滑动的事件,使得GridView能够滚动到下一页或上一页。 标签中提到了Adapter,这是Android中用于将数据绑定到视图...
Android 使用 GridView 实现横向滚动效果 Android 使用 GridView 实现横向滚动效果是 Android 开发中常见的一种需求,本文将详细介绍实现横向滚动效果的步骤和关键代码。 首先,我们需要了解为什么要使用 GridView...
这是一个ListView内嵌Gridview的程序,从本地读取Json文本文件并且显示到ListView中. 运行前请将压缩包内的Json.txt文件夹置于你手机或者模拟器的\sdcard\download\目录下 ,否则将无法读取到Json文件.这是一套未完成...
4. **横向滚动**:为了实现横向滚动,可能需要在自定义的GridView中集成HorizontalScrollView。不过,需要注意的是,GridView本身就是一个滚动视图,直接嵌套在另一个滚动视图中可能会导致冲突。因此,需要正确处理...
这个是android的横向滚动GridView 的demo。里面主要是涉及到GridView及adapter的使用,及搭配HorizontalScrollView实现GridView的横向滚动.经测试通过后才上传!
`HorizontalScrollView`是Android提供的一个布局容器,它允许子视图在水平方向上滚动,类似于垂直方向上的`ScrollView`。在本教程中,我们将讨论如何结合`HorizontalScrollView`和`ListView`,实现一个可以水平滑动...
总结起来,要实现一个单行多列横向滚动的效果,需要结合使用`GridLayout`、`HorizontalScrollView`和`GridView`。在`GridView`中,通过设置列宽、列数以及间距等属性,可以控制显示样式。使用适配器填充数据并绑定到...
这个报表我们使用的控件就是GridControl,查询结果一屏不能显示完全,增加一个定时器,指定时间让GridView自动滚动显示下一屏的信息。 同事的实现 但是看到同事实现的代码时,却觉得有点不舒服。他大概的代码如下:...
Android 实现 GridView 横向滚动仿京东秒杀效果 Android 中实现 GridView 横向滚动是一种常见的 UI 布局方式,例如京东秒杀的效果。下面将详细介绍如何实现 GridView 横向滚动仿京东秒杀效果。 GridView 横向滚动...
总结起来,"单行横向滚动的GridView Demo"是一个适用于Android开发的实例,展示了如何将常规的垂直滚动GridView转换为横向滚动,同时支持动态加载数据,为开发者提供了一个灵活的界面展示方案。通过学习和理解这个...
接着,在GridView控件中设置android:numColumns=”auto_fit”,这样可以使GridView控件能够自动适应横向滚动的需求。 在主界面布局文件activity_main.xml中,添加了HorizontalScrollView控件和GridView控件。 ```...
通常,GridView默认是垂直滚动的,但有时我们可能需要实现横向滑动的GridView,以适应不同的界面设计需求。本篇文章将详细讲解如何在Android中实现一个横向滑动的GridView。 首先,了解GridView的基本概念。...
在标题"GridView横向侧滑预览"中,我们聚焦于一个特定的增强功能,即如何实现GridView的横向侧滑预览。这通常涉及到自定义Adapter和ViewDragHelper等技术,以实现类似iOS中的TableView滑动预览效果。 1. **GridView...
在默认情况下,GridView会将数据项垂直堆叠,但有时我们可能需要实现横向显示的效果,这在设计某些界面时可能会非常有用,例如展示横向滚动的图片或卡片。本篇文章将详细介绍如何在Android中实现GridView的横向显示...
通常,GridView默认是垂直滚动的,但有时我们可能需要创建一个横向滚动的GridView来满足特定的界面设计需求。本篇文章将详细讲解如何实现一个横向滚动的GridView,并通过分析提供的"MyGridView"示例代码来加深理解。...