Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
来源:互联网 发布:手机上安装plc编程软件 编辑:程序博客网 时间:2024/05/17 12:22
我们现在在随便一个手机上用手指在屏幕上滑来滑都可以去拖动图片,其实在Android里这很简单,下面我就给大家具体讲解一下。
思路
我们首先需要Gallery这个对象,俗称画廊对象,大家都知道画廊吧,在现实生活中画廊里面放置的都是一个个画家画的具体的画,画廊有了,还需要什么呢?还需要的就是一幅幅具体的画了,具体的画其实就是ImageView对象了。如何把画好的画填充到画廊上呢?这里就需要一个填充器了,就是BaseAdapter。
实现步骤
一:布局文件编写
1.1:布局文件main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Gallery
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
二:代码文件编写
package com.menglin.gallery;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
public class MainActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//加载布局文件main.xml
setContentView(R.layout.main);
//通过findViewById()方法得到Gallery对象
Gallery gallery = (Gallery)findViewById(R.id.gallery);
//添加一个ImageAdapter并设置给Gallery
gallery.setAdapter(new ImageAdapter(this));
}
public class ImageAdapter extends BaseAdapter
{
private Context context;
//使用系统的图标图片作为图库源
private int[] imageids=
{
android.R.drawable.btn_minus,
android.R.drawable.btn_radio,
android.R.drawable.ic_lock_idle_low_battery,
android.R.drawable.btn_radio,
android.R.drawable.btn_dialog
};
//构造函数 此构造函数只有一个参数就是要存数的Context
public ImageAdapter(Context c)
{
this.context = c;
}
//得到已定义的图片的总数量
public int getCount()
{
return imageids.length;
}
//得到目前容器中图片的数组
public Object getItem(int position)
{
return position;
}
//得到目前容器中图片的数组ID
public long getItemId(int position)
{
return position;
}
//取得目前欲显示的图片view,传入数组ID使之读取成图像
public View getView(int position, View convertView, ViewGroup parent)
{
//创建一个ImageView对象
ImageView imageview = new ImageView(context);
//设置图片给ImageView对象
imageview.setImageResource(imageids[position]);
//重新设置图片的宽高
imageview.setScaleType(ImageView.ScaleType.FIT_XY);
//重新设置Layout的宽高
imageview.setLayoutParams(new Gallery.LayoutParams(120, 120));
return imageview;
}
//根据距离中央的位移量,利用getScale()返回view的大小
public float getScale(boolean focused,int offset)
{
return Math.max(0, 1.0f/(float)Math.pow(2, Math.abs(offset)));
}
}
}
运行效果如下
我们用手指从右向左拖动
- Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
- Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
- BaseAdapter应用 和gallery滑动图片
- android之ImageView+Gallery组件的应用
- Android深入浅出系列之实例应用—具有自动提示的菜单应用AutoCompleteTextView和ArrayAdapter的使用
- Android深入浅出系列之实例应用—具有自动提示的菜单应用AutoCompleteTextView和ArrayAdapter的使用
- Android深入浅出系列之实例应用—程序运行进度提示条应用ProgressBar和Handler的使用
- Android深入浅出系列之实例应用—程序运行进度提示条应用ProgressBar和Handler的使用
- 【android基础】之Android获取网络上的图片结合ImageView的简单应用
- Android深入浅出系列之实例应用—同意协议CheckBox的使用
- Android深入浅出系列之实例应用—提示信息Toast对象的使用
- Android深入浅出系列之实例应用—同意协议CheckBox的使用
- Gallery的应用以及点击显示点击的是第几张图片
- Gallery的应用以及点击显示点击的是第几张图片
- Android小应用----图片的拖动、缩放
- Android基础教程之-----访Iphone 拖动相片特效Gallery的简单应用.
- Android基础教程之-----访Iphone 拖动相片特效Gallery的简单应用.
- Android基础教程之-----访Iphone 拖动相片特效Gallery的简单应用.
- 使用spring发送邮件
- FL2440无操作系统应用程序编写测试012——DMA
- Flex学习笔记_03 MXML语言简介
- Silverlight应用程序中添加WCF服务的问题(整理)
- 当数据库变慢时的解决方法 详细出处参考
- Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
- Eclipse快捷键大全
- excel通过宏按列查找
- Flex学习笔记_04 使用容器控制界面布局
- 读取二进制文件
- 彻底解决网页文字无法选中以及复制的问题!!!(搜集整理)
- 两两反转单向链表 (reverse a singly linked list in pair ) [#22]
- Ejabberd高并发的优化
- 新建一个类库点不出 Response , Request, Session ,HttpContext 等