" />

Android 横向列表GridView 实现横向滚动

Android 横向列表GridView 实现横向滚动
Android 横向列表GridView 实现横向滚动

1.主界面布局代码:activity_main.xml

a.包裹HorizontalScrollView 控件是GirdView 横向滚动的基本条件

b.GirdView 外包裹LinearLayout 是java 代码中参数设置的必要条件

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_margin="5dp" >

android:layout_width="wrap_content"

android:layout_height="fill_parent"

android:layout_margin="10dp" >

android:id="@+id/grid"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:gravity="center"

android:numColumns="auto_fit"

android:stretchMode="spacingWidthUniform" >

2.主界面GridView 列表子项布局文件:list_item.xml

?

1

2

3

4

5

6

7

3.java实现代码:MainActivity.java

package com.example.horizontallistview;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.content.Context;

import android.os.Bundle;

import android.util.DisplayMetrics; import https://www.360docs.net/doc/a61162880.html,youtInflater; import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.GridView;

import android.widget.LinearLayout;

import android.widget.RelativeLayout;

import android.widget.TextView;

/***

*

* @author ymw

* @summary 博客地址欢迎访问:https://www.360docs.net/doc/a61162880.html,/_ymw */

public class MainActivity extends Activity {

List cityList;

RelativeLayout itmel;

GridView gridView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(https://www.360docs.net/doc/a61162880.html,yout.activity_main);

LayoutInflater layoutInflater = (LayoutInflater) this

.getSystemService("layout_inflater");

gridView = (GridView) findViewById(R.id.grid);

setData();

setGridView();

}

/**设置数据*/

private void setData() {

cityList = new ArrayList();

CityItem item = new CityItem();

item.setCityName("深圳");

item.setCityCode("0755");

cityList.add(item);

item = new CityItem();

item.setCityName("上海");

item.setCityCode("021");

cityList.add(item);

item = new CityItem();

item.setCityName("广州");

item.setCityCode("020");

cityList.add(item);

item = new CityItem();

item.setCityName("北京");

item.setCityCode("010");

cityList.add(item);

item = new CityItem();

item.setCityName("武汉");

item.setCityCode("027");

cityList.add(item);

item = new CityItem();

item.setCityName("孝感");

item.setCityCode("0712");

cityList.add(item);

cityList.addAll(cityList);

}

/**设置GirdView参数,绑定数据*/

private void setGridView() {

int size = cityList.size();

int length = 100;

DisplayMetrics dm = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(dm);

float density = dm.density;

int gridviewWidth = (int) (size * (length + 4) * density);

int itemWidth = (int) (length * density);

https://www.360docs.net/doc/a61162880.html,youtParams params = new https://www.360docs.net/doc/a61162880.html,youtParams(

gridviewWidth, https://www.360docs.net/doc/a61162880.html,youtParams.FILL_PARENT);

gridView.setLayoutParams(params); // 设置GirdView布局参数,横向布局的关键gridView.setColumnWidth(itemWidth); // 设置列表项宽

gridView.setHorizontalSpacing(5); // 设置列表项水平间距

gridView.setStretchMode(GridView.NO_STRETCH);

gridView.setNumColumns(size); // 设置列数量=列表集合数

GridViewAdapter adapter = new GridViewAdapter(getApplicationContext(), cityList);

gridView.setAdapter(adapter);

}

/**GirdView 数据适配器*/

public class GridViewAdapter extends BaseAdapter {

Context context;

List list;

public GridViewAdapter(Context _context, List _list) {

this.list = _list;

this.context = _context;

}

@Override

public int getCount() {

return list.size();

}

@Override

public Object getItem(int position) {

return list.get(position);

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater layoutInflater = LayoutInflater.from(context);

convertView = layoutInflater.inflate(https://www.360docs.net/doc/a61162880.html,yout.list_item, null);

TextView tvCity = (TextView) convertView.findViewById(https://www.360docs.net/doc/a61162880.html,City);

TextView tvCode = (TextView) convertView.findViewById(https://www.360docs.net/doc/a61162880.html,Code);

CityItem city = list.get(position);

tvCity.setText(city.getCityName());

tvCode.setText(city.getCityCode());

return convertView;

}

}

public class CityItem {

private String cityName;

private String cityCode;

public String getCityName() {

return cityName;

}

public void setCityName(String cityName) {

this.cityName = cityName;

}

public String getCityCode() {

return cityCode;

}

public void setCityCode(String cityCode) {

this.cityCode = cityCode;

}

}

}

Android简单的登陆界面的设计开发

通信实训报告 -Android移动平台开发 学院:信息工程学院 班级: 学号: 姓名:

实训内容: 一.1.Andriod的简介 Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为Android 2.4 Gingerbread 和Android 3.0 Honeycomb。 Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。 Android早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。采用Android系统主要厂商包括台湾的HTC,(第一台谷歌的手机G1由HTC生产代工)美国摩托罗拉,SE等,中国大陆厂商如:魅族(M9),华为、中兴、联想、蓝魔等。 2.Android构架图 二.1软件下载 Android SDK,网址是https://www.360docs.net/doc/a61162880.html,. JDK的下载地址https://www.360docs.net/doc/a61162880.html,/javase/downloads/widget/jdk6.jsp。Eclipse的下载网址是https://www.360docs.net/doc/a61162880.html,/downloads/ 2.Android开发环境搭建

基于Android系统的电子书阅读器的设计与实现

4.3.2 建表语句 1)创建: 1、创建书的表: create table IF NOT EXISTS book(bid integer primary key autoincrement,bpath varchar(255) not null); 2、创建书签的表: create table IF NOT EXISTS bookmark(bmid integer primary key autoincrement, bpath varchar(50) not null,bmname varchar(50) not null,bmoffset integer not null,bmsavetime varchar(20) not null); 3、创建用户管理的表: create table IF NOT EXISTS user(userid integer primary key autoincrement, username varchar(20) not null,password varchar(20) not null, telephone varchar(20) not null); 4、创建最近阅读的表 create table IF NOT EXISTS nearlyread(bookid integer primary key autoincrement, bookname varchar(50) not null,bookreadtime varchar(20) not null); 5、创建下载管理的表 create table IF NOT EXISTS down(downid integer primary key autoincrement, downuser varchar(20) not null,downbook varchar(20) not null, downtime varchar(20) not null); 2)SQlite3数据库使用方法: 选择:select from bookmark where bmid=1; 插入:insert (bookmark,null,values); 删除:delete from bookmark where bmid=3 ; 查找:query(table, columns, selection, selectionArgs, groupBy, having, orderBy) 4.3.3 数据表分析 本数据库用的是一个轻量级嵌入型数据库sqlite3 ,即创建了一个数据库reader.db,在数据库中创建了几张数据表。 在建设网站系统或者软件之前,我们必须对系统所用到的数据进行大致的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说

android毕业设计(论文)开题报告

毕业设计(论文) 开题报告 题目___________________________ 学院___________________________ 专业及班级___________________________ 姓名___________________________ 学号___________________________ 指导教师 ___________________________ 日期 ___________________________

西安科技大学毕业设计(论文)开题报告

二、主要研究(设计)内容、研究(设计)思路及工作方法或工作流程 设计内容:基于Android平台下实现理货员的功能:精耕拜访,销售机会,拜访效果,门店销量查询,待办事项,数据维护:队列信息,基础信息,地图下载。 设计思路及工作方法: 1.精耕拜访: (1)初始进入该页面,系统会自动获取该理货员的本日拜访的门店及路线。 (2)下方地图会自动定位目前理货员的位置。 (3)点击门店的具体门店名称,在右边会显示该门店的联系人,电话,及地址,并且地图 会自动切换定位以该门店为中心。 (4)点击地图上的+可实现地图局部放大。-可实现地图的放小。 (5)如已拜访的门店,点击进入可以调去历史拜访数据。如未拜访的门店,点击进入可以新增该拜访记录。 (6)如理货员在拜访期间,发现门店已经有卖而目前系统中无记录的情况,则可以通过扫 描SKU的条形码,系统会自动匹配该SKU的信息给理货员。 匹配顺序:连锁总店—区域管理—基本SKU信息 补充说明: (1)公司动态内容,为了显示保乐力加集团的整体形象,有必要对公司的动态进行展示。 要包括集团的光辉历程,门店信息,集团的促销信息等。 (2)在陈列信息栏中,有其它途径过来的回应确认,可以一栏展示在上半部。如该理货员 需要发起确认,也可以通过点击发起确认进行提出。发起确认的需要销售员进行审核并且 分发。 (3)陈列报告,为显示每次理货员必须处理的门店信息记录及图片等。 (4)在陈列信息栏中,有其它途径过来的回应确认,可以一栏展示在上半部。如该理货员需要发起确认,也可以通过点击发起确认进行提出。发起确认的需要销售员进行审核并且分发。 (5)价格显示,系统会自动带出竞品信息。罗列在下半部。理货员在进行拜访期间,可以对本身的SKU及竞品的价格进行登记。主要登记内容:零售价格,促销价格及促销期间。信息采集完毕,可以供后台进行统计分析。 (7)在陈列信息栏中,有其它途径过来的回应确认,可以一栏展示在上半部。如该理货员需要发起确认,也可以通过点击发起确认进行提出。发起确认的需要销售员进行审核并且分发。 (7)库存信息,主要记录SKU的库存数量。 (8)上半部为助销申请内容,主要是对一些礼品的申请。 (9)订单处理,为新增订单,退货内容及换货内容的跟踪。 2.销售机会: (1)打开销售机会界面,会自动定位目前的门店列表。 (2)用户可以输入门店名称查询具体的门店信息及地图位置。

第4章 Android用户界面设计

视图组件的使用模式 常用组件 高级组件 提示框与警告对话框

就是Android应用程序的开发过程。一般过程是先通过XML布局文件或Java代码创建界面布局,设定组件显示样式,随后获取UI组件对象,并处理组件事件响应。 视图组件的定义 资源的访问 生成视图组件资源标识 视图组件的引用 视图组件的事件响应 组件的常用属性

1.1视图组件的定义 使用XML布局文件定义视图组件 使用Java代码定义视图组件(不推荐)

1.1视图组件的定义 使用XML布局文件定义视图组件 Android平台为大多数视图组件以及其子类提供了XML标记,可通过XML布局文件中的标记来定义视图组件。XML中的每个元素代表了一个组件,即元素名称对应相应的Java类。

1.1视图组件的定义

相关文档
最新文档