Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
2014-11-13 16:08
1276 查看
Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
前言我们现在在随便一个手机上用手指在屏幕上滑来滑都可以去拖动图片,其实在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>
二:代码文件编写
2. 1:MainActivity.java
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
相关文章推荐
- Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
- Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
- 举例说明android中Bitmap、ListView以及ImageView的综合使用---显示图片并获取图片的宽和高
- Android深入浅出系列之实例应用—具有自动提示的菜单应用AutoCompleteTextView和ArrayAdapter的使用
- Android深入浅出系列之实例应用—具有自动提示的菜单应用AutoCompleteTextView和ArrayAdapter的使用
- Android开发之ButterKnife,GreenDao简单运用,以及推荐并使用一个好用的开源库BaseRecyclerViewAdapterHelper。
- Android深入浅出系列之实例应用—具有自动提示的菜单应用AutoCompleteTextView和ArrayAdapter的使用
- Android深入浅出系列之实例应用—同意协议CheckBox的使用
- Android深入浅出系列之实例应用—弹出消息Toast对象的使用自定义方式(二)
- Android深入浅出系列之实例应用—提示信息Toast对象的使用
- Android应用中在ImageView中显示SD卡上的图片
- Android深入浅出系列之实例应用—程序运行进度提示条应用ProgressBar和Handler的使用
- 使用ListView和AsyncTask、fastjson解析Json以及适配器BaseAdapter来实现下载网络的图片以及文字并显示出来
- Android 使用ViewPager实现类似gallery画廊的效果(画廊效果之ViewPager显示多个图片)
- 【android基础】之Android获取网络上的图片结合ImageView的简单应用
- android中使用imageview显示Gif图片
- Android深入浅出系列之实例应用—弹出消息Toast对象的使用自定义方式(二)
- android中使用imageview显示Gif图片
- AndroidBase 使用AbImageLoader异步加载显示图片
- Android深入浅出系列之实例应用—程序运行进度提示条应用ProgressBar和Handler的使用