- 浏览: 178263 次
- 性别:
- 来自: 云南
文章分类
最新评论
-
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 622喝优团 引入第三方QQ登录 -
android版喝优团
2014-07-18 20:30 593喝优团是由大众点评提供数据的手机APP生活消费之一,创 ... -
android论坛网站,里面可以找到很多案例源码
2014-06-03 13:57 74651cto http://mobile.51cto.com/ ... -
Android手机中获取手机号码和运营商信息
2013-09-23 15:05 892来自于http://blog.csdn.net/peijian ... -
Android+JNI调用–文件操作
2013-08-27 18:26 1123这个讲的不错http://www.linuxidc.com/L ... -
Android的NDK开发
2013-08-27 16:01 696http://blog.csdn.net/conowen/ar ... -
Android的NDK开发(5)————Android JNI层实现文件的read、write与seek操作
2013-08-27 14:37 959不错 http://blog.csdn.net/luhuajc ... -
Eclipse NDK 配置
2013-08-23 14:54 657http://www.cnblogs.com/chenjiaj ... -
八款开源 Android 游戏引擎
2013-08-20 18:01 6661、Angle Angle是一款专 ... -
Android连接SQLServer详细教程(数据库+服务器+客户端)
2013-08-15 11:22 1785来源于http://www.6619.net/a/kaifal ... -
Android adb shell 命令
2013-08-12 18:43 648adb 概述 SDK的Tools文件夹下包含着Andro ... -
安卓巴士总结了近百个Android优秀开源项目,覆盖Android开发的每个领域
2013-08-09 20:17 868来源于http://blog.chinaunix.net/ui ... -
android实现显示阳历和农历源码
2013-08-06 21:02 1662来自于http://blog.csdn.net/meshles ... -
android 字体使用自定义的.ttf文件
2013-08-06 20:55 1128这篇文章http://tank03.iteye.com/blo ... -
Android 文件打开方式
2013-08-04 17:56 1605来源于 http://blog.csdn.net/weich_ ... -
详解Android中AsyncTask的使用(简单易懂
2013-08-01 22:06 867from 来此这篇博客。非常不错 -
build.prop详解之修改ROM中默认语言,默认铃声,默认时区,版本信息打造个性rom
2013-07-29 18:29 2803# begin build properties开始设置系统性 ... -
Android系统默认值的设置
2013-07-29 18:28 9291开机图片: android-logo-mask.png ... -
android系统开发设置
2013-07-29 18:27 42991,开机不停震动 手机开机,马达一直震动,应该是uboot正 ... -
ANDROID 隐藏 任务栏 systemui systembar 全屏显示
2013-07-26 14:00 3401ANDROID 隐藏 任务栏 systemui systemb ...
相关推荐
gridview固定表头 横向滚动 纵向固定,即拖动横向滚动条时,表头随着表体移动,纵向拖动滚动条时,表头固定不动 实践中所得一个具体实例 VS2010,C#
GridView横向显示实例GridView横向滚动显示实例
这是一个ListView内嵌Gridview的程序,从本地读取Json文本文件并且显示到ListView中. 运行前请将压缩包内的Json.txt文件夹置于你手机或者模拟器的\sdcard\download\目录下 ,否则将无法读取到Json文件.这是一套未完成...
gridview固定表头 横向滚动 纵向固定,即拖动横向滚动条时,表头随着表体移动,纵向拖动滚动条时,表头不动,实践得出来的结果 我用的是VS2010,C#
主要为大家详细介绍了Android使用GridView实现横向滚动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例讲述了Android开发实现横向列表GridView横向滚动的方法。分享给大家供大家参考,具体如下: Android 横向列表实现,可左右滑动,如下图 1. 主界面布局代码:activity_main.xml a.包裹HorizontalScrollView...
这个是android的横向滚动GridView 的demo。里面主要是涉及到GridView及adapter的使用,及搭配HorizontalScrollView实现GridView的横向滚动.经测试通过后才上传!
通过在HorizontalScrollView中嵌套ListView控件,实现ListView的水平滑动效果
在智能手机上可以实现GridView的左右滑动,但不能在智能电视上通过焦点的改变来实现GridView的左右滑动.(有实现的可以教教我,296252344,先说声感谢)
本文实例为大家分享了安卓实现单行多列横向滚动,供大家参考,具体内容如下 android:layout_height=match_parent android:columnCount=1> <HorizontalScrollView android:layout_width=match_parent ...
Android为我们提供了竖直方向的滚动控件GridView,这篇文章主要介绍了Android使GridView横向水平滚动的实现方式,有兴趣的可以了解一下
有很多地方需要用横向的滑动来show处image等信息。此demo可以显示横向滚动的只有一个image的Gridview。根据自己的需要可以对内容修改。 《动态加载》
这个android项目只是简单把GridView横向滚动。
横向滚动的TableView DTGridView ,DTGridView 是 iOS 用来实现横向滚动的 TableView 的组件。
这个报表我们使用的控件就是GridControl,查询结果一屏不能显示完全,增加一个定时器,指定时间让GridView自动滚动显示下一屏的信息。 同事的实现 但是看到同事实现的代码时,却觉得有点不舒服。他大概的代码如下:...
主要介绍了Android通过实现GridView的横向滚动实现仿京东秒杀效果,实现代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
本文实例为大家分享了Android使用Gridview单行横向滚动显示的具体代码,供大家参考,具体内容如下 要想实现滚动显示,layout布局里必须要使用HorizontalScrollView,才能实现横向滑动,但HorizontalScrollView标签里...