Android 小項目之---Iphone拖动图片特效 (附源码)
曾經被Iphone用手指在屏幕上滑來滑去拖動圖片的操作方式吸引嗎?在Android里頭,這并不是什么難事。
所需要的技術點如下:Android.content.Context 、Android.widget.BaseAdapter、Android.widget.ImageView等通常會用在設計相冊、
圖片類型的選擇器上。
在開始之前,必須了解什么是Context以及widget里的 BaseAdpater ,在Acitivity當中,Context就如同是張Canvas畫布,隨時等著被處理或覆蓋。
???? 示例運行結果如圖:
????????? 主程序中較為重要的部分是在其中創建一個繼承自BaseAdapter的ImageAdapter方法,這個ImageAdapter的存在目的,是為了要暫存欲顯示的圖片,
并作為Gallery控件圖片的源引用(在這里我們可以用.Net的Ado.Net來理解 比如把BaseAdpater理解成SqlDataAdapter的數據適配器,而我們要填充的是
Gallery的一個方法為setAdapter 可以暫時理解成Dataset 這樣子應該好理解一點)
?????????? OK,現在到了我們代碼實現功能的步驟了:
?
代碼 ?1?import?android.app.Activity;?2?import?android.os.Bundle;
?3?import?android.content.*;
?4?import?android.graphics.*;?
?5?import?android.view.View;
?6?import?android.view.ViewGroup;
?7?import?android.widget.*;
?8?public?class?ImageGallery?extends?Activity?{
?9?????private?TextView?mTextView;
10?????private?Gallery?mGallery;
11?????/**?Called?when?the?activity?is?first?created.?*/
12?????@Override
13?????public?void?onCreate(Bundle?savedInstanceState)?{
14?????????super.onCreate(savedInstanceState);
15?????????setContentView(R.layout.main);
16?????????mTextView=(TextView)findViewById(R.id.TextView01);
17?????????mGallery=(Gallery)findViewById(R.id.Gallery01);
18?????????mTextView.setText(R.string.about);
19?????????mTextView.setTextColor(Color.BLUE);
20????????mGallery.setAdapter(new?ImageApdater(this));
21?????}
22?????
23?????public?class?ImageApdater?extends?BaseAdapter{
24?
25?????????//類成員myContext為context父類
26?????????private?Context?myContext;
27?????????private?int[]?myImageIds={?
28?????????????????R.drawable.a,
29?????????????????R.drawable.b,
30?????????????????R.drawable.c,
31?????????????????R.drawable.d,
32?????????????????R.drawable.e
33?????????};
34?????????//構造函數,有一個參數,即要存儲的Context
35?????????public?ImageApdater(Context?c)?{
36?????????????//?TODO?Auto-generated?constructor?stub
37?????????????this.myContext=c;
38?????????}
39?
40?????????//返回所有的圖片總數量
41?????????@Override
42?????????public?int?getCount()?{
43?????????????//?TODO?Auto-generated?method?stub
44?????????????return?this.myImageIds.length;
45?????????}
46?
47?????????//利用getItem方法,取得目前容器中圖像的數組ID
48?????????@Override
49?????????public?Object?getItem(int?position)?{
50?????????????//?TODO?Auto-generated?method?stub
51?????????????return?position;
52?????????}
53?
54?????????
55?????????@Override
56?????????public?long?getItemId(int?position)?{
57?????????????//?TODO?Auto-generated?method?stub
58?????????????return?position;
59?????????}
60?
61?????????//取得目前欲顯示的圖像的VIEW,傳入數組ID值使之讀取與成像
62?????????@Override
63?????????public?View?getView(int?position,?View?convertView,?ViewGroup?parent)?{
64?????????????//?TODO?Auto-generated?method?stub
65?????????????ImageView?i=new?ImageView(this.myContext);
66?????????????i.setImageResource(this.myImageIds[position]);
67?????????????i.setScaleType(ImageView.ScaleType.FIT_XY);
68?????????????//i.setLayoutParams(new?Gallery.LayoutParams(120,120));? //設置高度和寬度
69?????????????
70?????????????return?i;
71?????????}
72?????????
73?????}
74?}
?
???????????? 注:繼承BaseAdapter這個類,系統會默認為我們重寫以上的所有方法,我們要做的只是在生成好的方法里面處理即可,之后返回所需要的數據。
?
?
源碼如下:點擊下載/Files/TerryBlog/ImageGallery.rar
?
如下有不懂請QQ 285735942?? 或? Email:terrryyhl@gmail.com
轉載于:https://www.cnblogs.com/TerryBlog/archive/2010/05/17/1737789.html
總結
以上是生活随笔為你收集整理的Android 小項目之---Iphone拖动图片特效 (附源码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: poj 3256(DFS)
- 下一篇: Windows XP SP3支持多用户远