MainActivity例如以下:

  1. package cc.cv;
  2.  
  3. import android.os.Bundle;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.widget.ImageView;
  7. import android.widget.LinearLayout;
  8. import android.widget.TextView;
  9. import android.app.Activity;
  10. import android.content.Context;
  11. /**
  12. * Demo描写叙述:
  13. * HorizontalScrollView的简单使用
  14. *
  15. * 在Google文档中Gallery已经弃用.推荐使用HorizontalScrollView和ViewPager.
  16. * ViewPager用过不少,HorizontalScrollView倒是非常少使用.所以在此学习.
  17. *
  18. * Demo说明:
  19. * 1 布局文件非常easy,在HorizontalScrollView中嵌套了一个LinearLayout
  20. * 2 在代码中仅仅需将自己定义的View加入到LinearLayout中就可以.
  21. * 这样就能够实现水平滑动了.
  22. *
  23. */
  24. public class MainActivity extends Activity {
  25. private Context mContext;
  26. private int [] mPhotosIntArray;
  27. private LayoutInflater mLayoutInflater;
  28. private LinearLayout mGalleryLinearLayout;
  29. @Override
  30. protected void onCreate(Bundle savedInstanceState) {
  31. super.onCreate(savedInstanceState);
  32. setContentView(R.layout.main);
  33. initView();
  34. initData();
  35. }
  36.  
  37. private void initView(){
  38. mContext=this;
  39. mGalleryLinearLayout=(LinearLayout) findViewById(R.id.galleryLinearLayout);
  40. mLayoutInflater=LayoutInflater.from(mContext);
  41. }
  42. private void initData(){
  43. mPhotosIntArray=new int[]{R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e,R.drawable.f,R.drawable.g,R.drawable.h};
  44. View itemView=null;
  45. ImageView imageView=null;
  46. TextView textView;
  47. for (int i = 0; i < mPhotosIntArray.length; i++) {
  48. itemView=mLayoutInflater.inflate(R.layout.gallery_item, null);
  49. imageView=(ImageView) itemView.findViewById(R.id.imageView);
  50. textView=(TextView) itemView.findViewById(R.id.textView);
  51. imageView.setImageResource(mPhotosIntArray[i]);
  52. textView.setText("This is "+(i+1));
  53. mGalleryLinearLayout.addView(itemView);
  54. }
  55. }
  56.  
  57. }

main.xml例如以下:

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent" >
  5.  
  6. <HorizontalScrollView
  7. android:layout_width="match_parent"
  8. android:layout_height="150dip"
  9. android:layout_centerInParent="true"
  10. android:scrollbars="horizontal" >
  11.  
  12. <LinearLayout
  13. android:id="@+id/galleryLinearLayout"
  14. android:layout_width="wrap_content"
  15. android:layout_height="fill_parent"
  16. android:gravity="center_vertical" >
  17. </LinearLayout>
  18.  
  19. </HorizontalScrollView>
  20.  
  21. </RelativeLayout>

gallery_item.xml例如以下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="wrap_content"
  4. android:layout_height="wrap_content" >
  5.  
  6. <ImageView
  7. android:id="@+id/imageView"
  8. android:layout_width="80dip"
  9. android:layout_height="80dip"
  10. android:layout_centerHorizontal="true" />
  11.  
  12. <TextView
  13. android:id="@+id/textView"
  14. android:layout_width="wrap_content"
  15. android:layout_height="wrap_content"
  16. android:layout_below="@id/imageView"
  17. android:layout_centerHorizontal="true"
  18. android:layout_marginTop="8dip" />
  19.  
  20. </RelativeLayout>

HorizontalScrollView的使用演示样例的更多相关文章

  1. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  2. java 覆盖hashCode()深入探讨 代码演示样例

    java 翻盖hashCode()深入探讨 代码演示样例 package org.rui.collection2.hashcode; /** * 覆盖hashcode * 设计HashCode时最重要 ...

  3. 模式识别 - 处理多演示样例学习(MIL)特征(matlab)

    处理多演示样例学习(MIL)特征(matlab) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/27206325 多演示样例学习( ...

  4. java并行调度框架封装及演示样例

    參考资料:  阿里巴巴开源项目 CobarClient  源代码实现. 分享作者:闫建忠 分享时间:2014年5月7日 ---------------------------------------- ...

  5. Java连接redis的使用演示样例

    Java连接redis的使用演示样例 Redis是开源的key-value存储工具,redis通经常使用来存储结构化的数据,由于redis的key能够包括String.hash.listset和sor ...

  6. Introspector(内省)简单演示样例 与 简单应用

    简单演示样例: package com.asdfLeftHand.test; import java.beans.BeanDescriptor; import java.beans.BeanInfo; ...

  7. libcurl使用演示样例

    简要说明:C++使用libcurl訪问"www.baidu.com".获取返回码和打印出http文件 /* * @ libcurl使用演示样例 * @ 2014.04.29 * @ ...

  8. 构造Scala开发环境并创建ApiDemos演示样例项目

    从2011年開始写Android ApiDemos 以来.Android的版本号也更新了非常多,眼下的版本号已经是4.04. ApiDemos中的样例也添加了不少,有必要更新Android ApiDe ...

  9. OpenCV LDA(Linnear Discriminant analysis)类的使用---OpenCV LDA演示样例

    1.OpenCV中LDA类的声明 //contrib.hpp class CV_EXPORTS LDA { public: // Initializes a LDA with num_componen ...

随机推荐

  1. cent7.0 mysql 修改端口

    如何查看mysql 默认端口号和修改端口号 2015-03-19 17:42:18 1. 登录mysql [root@test /]# mysql -u root -p Enter password: ...

  2. poj3268 Silver Cow Party(两次SPFA || 两次Dijkstra)

    题目链接 http://poj.org/problem?id=3268 题意 有向图中有n个结点,编号1~n,输入终点编号x,求其他结点到x结点来回最短路长度的最大值. 思路 最短路问题,有1000个 ...

  3. jquery 查询IP归属地

    <script src="http://c.csdnimg.cn/public/common/libs/jquery/jquery-1.9.1.min.js" type=&q ...

  4. 论 ArrayList如何实现线程安全

    一:使用synchronized关键字 二:使用Collections.synchronizedList(); 假如你创建的代码如下:List<Map<String,Object>& ...

  5. go语言解析 map[string]interface{} 数据格式

    原文:https://blog.csdn.net/Nick_666/article/details/79801914 map记得分配内存 解析出来的int类型会变成float64类型 注意判断不为ni ...

  6. 为了增强团队的协作和高效开发,提升代码质量,TGideas团队一起制订的代码规范。主要包括五部分内容:PC规范、移动端规范、性能优化、CP规范、其他项目规范

    http://tguide.qq.com/main/index.htm

  7. luoguP4492 [HAOI2018]苹果树 组合计数 + dp

    首先,每个二叉树对应着唯一的中序遍历,并且每个二叉树的概率是相同的 这十分的有用 考虑\(dp\)求解 令\(f_i\)表示\(i\)个节点的子树,根的深度为\(1\)时,所有点的期望深度之和(乘\( ...

  8. BZOJ 3130: [Sdoi2013]费用流 网络流 二分 最大流

    https://www.lydsy.com/JudgeOnline/problem.php?id=3130 本来找费用流的题,权当复习一下网络流好了. 有点麻烦的是double,干脆判断大小或者二分增 ...

  9. 【差分约束系统/DFS版SPFA】BZOJ3436-小K的农场

    [题目大意] 总共n个农场,有以下三种描述:农场a比农场b至少多种植了c个单位的作物,农场a比农场b至多多种植了c个单位的作物,农场a与农场b种植的作物数一样多.问是否有可能性. [思路] 农场a比农 ...

  10. mysql_connect的$new_link参数

    假设在127.0.0.1上有test1和test2两个库, 其中库test1库中有test1表,test2中有test2表 $servername = "127.0.0.1"; $ ...