听说 Gallery如今已经不使用了,API使用ViewPaper取代了,以后再学专研ViewPaper吧如今说说Gallery画廊,就是不停显示图片的意思

Gallery是用来水平滚动的显示一系列项目。Gallery组件能够横向显示一个图像列表,当单击当前图像的后一个图像时,这个图像列表会向左移动一格,当单击当前图像的前一个图像时,这个图像列表会向右移动一样

也能够通过拖动的方式来向左和向右移动图像列表在使用Gallery的时候,我们应指定他的背景。不然它的项目会紧凑的贴在一起。不会产生画廊的效果了。可是。你也能够通过指定Gallery的属性来设置距离。高度等參数来产生画廊的效果。

Gallery的xml属性:

能够看到仅仅有4个属性:

animationDuration:当布局已经改变,设置一个过渡动画应该执行多长时间(以毫秒为单位)。

gravity:项目的位置,对齐方式

spacing:设置项目之间间距,图片之间的间距

unselectedAlpha:设置没有选择时的Alpha,没有选中图片的透明度

一个简单的样例,使用一个Gallery,一个ImageView显示选中的图片。

方法是:Gallery既然AdapterView的子类当然是能够使用Adapter来提供列表项的。当点击列表项时。ImageView显示图片

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <ImageView
android:id="@+id/imageView1"
android:layout_width="320dp"
android:layout_height="320dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/baiyang" />
<!-- android:unselectedAlpha设置没选中图片的透明度 android:spacing设置图片之间间隔 -->
<Gallery
android:id="@+id/gallery1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:spacing="4dp"
android:unselectedAlpha="0.6" />
</LinearLayout>

MainActivity.java

public class MainActivity extends Activity {
int[] imagesids=new int[]{
R.drawable.p1, R.drawable.p2,R.drawable.p3,R.drawable.p4,
R.drawable.p5,R.drawable.p6,R.drawable.p7,R.drawable.p8
};
Gallery g;
ImageView image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
g=(Gallery) findViewById(R.id.gallery1);
image=(ImageView) findViewById(R.id.imageView1); BaseAdapter ba=new BaseAdapter(){ @Override
public int getCount() {
// TODO Auto-generated method stub
return imagesids.length;
} @Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
} @Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
//设置子选项ImageView的外观
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ImageView imageview= new ImageView(MainActivity.this);
imageview.setImageResource(imagesids[position]); imageview.setScaleType(ImageView.ScaleType.FIT_XY);
imageview.setLayoutParams(new Gallery.LayoutParams(160,200)); return imageview;
} };
//设置adapter
g.setAdapter(ba);
//设置选项被选监听器
g.setOnItemSelectedListener(new OnItemSelectedListener(){ @Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub image.setImageResource(imagesids[position]); } @Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub } });
}

看了几篇好的博客,能够实现循环Gallery,3DGallery的效果,先放一下。如今时间紧没有时间专研。如今留着以后学习

http://blog.csdn.net/loongggdroid/article/details/7581236

http://blog.csdn.net/herryz/article/details/6141957

http://blog.csdn.net/easyer2012/article/details/8244483

最新文章

  1. O365(世纪互联)SharePoint 之站点个性化
  2. WAP站点(IIS/Apache)的服务器设置
  3. 优秀案例:12个精美的设计工作室 &amp; 设计公司网站
  4. 1104关于优化mysql服务器几个参数和思路
  5. Subime学习记录
  6. 获取客户端真实ip
  7. Web Servic和Web API的区别
  8. ADO.NET学习系列(四)---窗体版的登录小程序
  9. no branch 问题
  10. DataGridView固定了列名,怎样将数据内容绑定在列上
  11. bzoj1049
  12. oracle中execute immediate的使用(select/insert/update/delete)(转)
  13. openwrt ramips随记
  14. powerdesinger(MSSQLSRV2008测试通过)通过Name或comment 导出注释到sql脚本,生成sql的说明备注,包括表注释信息
  15. ValueError: setting an array element with a sequence.
  16. SQL Server SubString和charindex的用法
  17. 在Fabric ChainCode中导入第三方包(以状态机为例)
  18. CentOS无法使用ifconfig和root密码修改
  19. 主从热备+负载均衡(LVS + keepalived)
  20. js对象深拷贝与浅拷贝

热门文章

  1. java几种读写文件的方式
  2. ActiveMQ学习总结(4)——业界消息队列简介
  3. 五大最佳开源java性能监控工具
  4. [using_microsoft_infopath_2010]Chapter6 发布提交表单数据
  5. Android自己定义百度地图缩放图标
  6. Libvirt中windows虚拟机的动态内存管理
  7. POI 导入excel数据自己主动封装成model对象--代码分析
  8. C++模板中的静态
  9. 具体解释XML解析(一)—解析接口浅析
  10. Perl怎样过滤html标签