package com.testgridview;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.HorizontalScrollView;
import android.widget.ImageView;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView;
public class TestGridViewActivity extends Activity {
static class ViewHolder {
ImageView mImg;
TextView mTxt;
}
private GridView mGridView;
private HorizontalScrollView mScrollView;
private String TAG = "TestGridView";
/**
* 列宽
*/
private int cWidth = 120;
/**
* 水平间距
*/
private int hSpacing = 10;
private int mWidthPixels;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWidthPixels = getResources().getDisplayMetrics().widthPixels;
findView();
setValue();
setListener();
}
private void findView() {
mGridView = (GridView) findViewById(R.id.mGridView);
mScrollView = (HorizontalScrollView) findViewById(R.id.mScrollView);
mScrollView.setHorizontalScrollBarEnabled(false);// 隐藏滚动条
}
private void setValue() {
MAdapter mAdapter = new MAdapter(TestGridViewActivity.this);
mGridView.setAdapter(mAdapter);
LayoutParams params = new LayoutParams(mAdapter.getCount() * (48 + 10),
LayoutParams.WRAP_CONTENT);
mGridView.setLayoutParams(params);
mGridView.setColumnWidth(cWidth);
mGridView.setHorizontalSpacing(hSpacing);
mGridView.setStretchMode(GridView.NO_STRETCH);
mGridView.setNumColumns(mAdapter.getCount());
}
private void setListener() {
mGridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
int x = (int) (view.getLeft()+view.getWidth()/2.0-mWidthPixels/2.0);
mScrollView.smoothScrollTo(x, 0);
}
});
}
class MAdapter extends BaseAdapter {
Context mContext;
LayoutInflater mInflater;
public MAdapter(Context c) {
mContext = c;
mInflater = LayoutInflater.from(mContext);
}
@Override
public int getCount() {
return 60;
}
@Override
public Object getItem(int arg0) {
return arg0;
}
@Override
public long getItemId(int arg0) {
return arg0;
}
@Override
public View getView(int position, View contentView, ViewGroup arg2) {
ViewHolder holder;
if (contentView == null) {
holder = new ViewHolder();
contentView = mInflater.inflate(R.layout.gridview_item, null);
holder.mImg = (ImageView) contentView.findViewById(R.id.mImage);
holder.mTxt = (TextView) contentView.findViewById(R.id.mText);
} else {
holder = (ViewHolder) contentView.getTag();
}
holder.mTxt.setText("测试"+position);
contentView.setTag(holder);
return contentView;
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
android 自定义gallery去除空白页
共27个文件
class:10个
xml:4个
png:3个
4星 · 超过85%的资源 需积分: 9 137 下载量 104 浏览量
2013-12-14
11:14:38
上传
评论
收藏 64KB ZIP 举报
温馨提示
由于gallery控件的左边和右边都会留下空白页,如果我们要把空白去掉,直接用自定义gallery实现很困难,所以我gridView实现gallery的功能,实现很简单,给大家学习学习,资源共享。
资源推荐
资源详情
资源评论
收起资源包目录
myGallery.zip (27个子文件)
TestGridView
bin
classes.dex 7KB
TestGridView.apk 22KB
classes
com
testgridview
TestGridViewActivity$MAdapter.class 2KB
R$layout.class 425B
R$id.class 507B
R$drawable.class 422B
TestGridViewActivity$1.class 2KB
R$attr.class 334B
R.class 517B
TestGridViewActivity.class 3KB
R$string.class 421B
TestGridViewActivity$ViewHolder.class 515B
resources.ap_ 17KB
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
drawable
test.jpg 5KB
values
strings.xml 183B
drawable-mdpi
icon.png 3KB
layout
gridview_item.xml 824B
main.xml 828B
default.properties 56B
gen
com
testgridview
R.java 1KB
src
com
testgridview
TestGridViewActivity.java 4KB
.project 848B
.classpath 364B
project.properties 360B
AndroidManifest.xml 649B
共 27 条
- 1
Eli_lyq
- 粉丝: 4
- 资源: 26
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Unity XR 手势射击控制脚本(适用于任何可手势识别的设备)
- 机械设计全自动电表(NB和IC卡表)控制和上壳装配线sw16可编辑非常好的设计图纸100%好用.zip
- 基于matlab的EAN-13条形码识别系统GUI界面.zip代码53
- matlab基于bp神经网络交通信号标志识别GUI界面13个标志.zip代码54
- 电子万年历答辩实物展示视频mp4格式
- 基于python实现的程序,包括哈希感知算法cvHash,图像切割cvsplit,固定目标检测cvRec(附文档ppt)等
- 计算0-10000之间所有偶数的和
- multiled.zip
- 基于php实现的哈希算法的人脸检索
- 单片机 电子钟 设计报告/课程设计
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页