android中Gallery的应用开发-制作自己的相片集

来源:互联网 发布:网络侦探攻略 编辑:程序博客网 时间:2024/05/17 12:48

     Gallery主要是用来对相片的管理,可以实现在主界面拖动图片,从而实现图片的移动,方便用户的查看。

      效果图如下:

       


当鼠标放在图片上面时,拖动图片,可以实现图片的移动。

现在,首先来完成布局文件.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"     android:gravity="center_vertical">    <Gallery        android:id="@+id/ga"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:spacing="10dp"        android:unselectedAlpha="1"/></RelativeLayout>

布局文件很简单,只是在xml文件中放置了一个Gallery控件。

接下来完成主要功能代码。

package com.example.gallery;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.view.ViewGroup.LayoutParams;import android.widget.AdapterView;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ImageView;public class MainActivity extends ActionBarActivity {private Gallery gallery;private int[] imageId = new int[]{R.drawable.a,R.drawable.b,R.drawable.c};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);gallery = (Gallery) this.findViewById(R.id.ga);BaseAdapter ba = new BaseAdapter() {@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ImageView imageView = new ImageView(getApplicationContext());imageView.setImageResource(imageId[position]);//** 设置比例类型imageView.setScaleType(ImageView.ScaleType.FIT_XY);imageView.setLayoutParams(new Gallery.LayoutParams(188,255));return imageView;}@Overridepublic long getItemId(int position) {return position;}@Overridepublic Object getItem(int position) {return imageId[position];}@Overridepublic int getCount() {return imageId.length;}};gallery.setAdapter(ba);gallery.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {Gallery gl = (Gallery) findViewById(R.id.ga);gl.setSelection(position);}});}}

跟之前所说的控件类似,得到该控件的引用后,然后为控件添加数据适配器。当单击每一个项目时,可以实现拖动功能。


源码下载:http://download.csdn.net/detail/tan313/8526423

0 0
原创粉丝点击