国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android UI控件之Gallery實現拖動式圖片瀏覽效果

2019-10-22 18:19:38
字體:
來源:轉載
供稿:網友

我們知道現在智能手機上都有這樣一種功能,就是你在瀏覽圖片的時候。不是硬性的點擊按鈕而是可以實現手指的拖動,劃開效果。使用戶具有更好的交互體驗,不過這種效果是如何實現的呢?

Android中是通過Gallery來實現拖動效果的。

通過Gallery可以實現各種各樣的效果,此篇文章只是簡要談談他的用法,至于后續的一些效果

有機會的時候做一個整理。 

首先看看其簡單實現吧!本次實例是通過選取圖片實現類似設置背景的功能!

不過需要說明的是:圖片不宜過大,否則容易內存溢出,android對大圖片的支持不好!

Android,UI,Gallery,拖動

我們來看看切換之后的效果吧

Android,UI,Gallery,拖動

看看重新設置一幅背景圖片!

Android,UI,Gallery,拖動

怎么樣一個簡單的效果就出來了吧!

下面是具體的實現方法:

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/gallery1"  android:layout_height="fill_parent"   android:layout_width="fill_parent"  android:spacing="3px"   >  </Gallery> </LinearLayout> 

 MainActivity文件:

package com.kiritor.ui_gallery;  import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.Gallery; import android.widget.Toast;  /**  * @author 記憶的永恒  *  */ public class MainActivity extends Activity {   @Override   public void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);      final Gallery gallery = (Gallery) findViewById(R.id.gallery1);     // 將存放圖片的ImageAdapter給gallery對象     gallery.setAdapter(new ImageAdapter(this));      // 設置gallery 的背景圖片     gallery.setBackgroundResource(R.drawable.first);      // 設置Gallery的監聽事件     gallery.setOnItemClickListener(new OnItemClickListener() {       @Override       public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,           long arg3) {         switch (arg2) {         case 0:           gallery.setBackgroundResource(R.drawable.first);           break;         case 1:           gallery.setBackgroundResource(R.drawable.second);           break;         case 2:           gallery.setBackgroundResource(R.drawable.third);           break;         case 3:           gallery.setBackgroundResource(R.drawable.forth);           break;         case 4:           gallery.setBackgroundResource(R.drawable.fifth);           break;         default:           break;         }       }     });   } } 

 自己實現一個ImageAdapter繼承與BaseAdapter實現適配器

package com.kiritor.ui_gallery;  import android.content.Context;  import android.view.View;  import android.view.ViewGroup;  import android.widget.BaseAdapter;  import android.widget.Gallery;  import android.widget.ImageView;  public class ImageAdapter extends BaseAdapter{  //定義Content  private Context mContext;  //定義一個數組,存放圖片資源  private Integer[] mImageIds = {    R.drawable.first,    R.drawable.second,    R.drawable.third,    R.drawable.forth,    R.drawable.fifth,     };   //構造   public ImageAdapter(Context c){    mContext = c;   }     //獲取圖片的個數   public int getCount() {    // TODO Auto-generated method stub    return mImageIds.length;   }     //獲取圖片在庫中的位置   public Object getItem(int position) {    // TODO Auto-generated method stub    return position;   }     //獲取圖片在庫中的ID   public long getItemId(int position) {    // TODO Auto-generated method stub    return position;   }   //將圖片取出來   public View getView(int position, View convertView, ViewGroup parent) {    //要取出圖片,即要定義一個ImageView來存    ImageView imageView = new ImageView(mContext);    imageView.setImageResource(mImageIds[position]);    //設置顯示比例類型        //設置布局圖片以105*150顯示 (簡單解釋——設置數字不一樣,圖片的顯示大小不一樣)   imageView.setLayoutParams(new Gallery.LayoutParams(240, 200));      imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);    return imageView;   }  } 

 Over!一個簡單的圖片拖動展示外加設置背景圖片的小功能就實現了。

下面是項目完整代碼部分:Gallery實現拖動式圖片瀏覽效果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高雄市| 邵阳县| 天长市| 米易县| 建瓯市| 双鸭山市| 象州县| 红桥区| 布尔津县| 忻城县| 延庆县| 固镇县| 临高县| 手游| 东乌珠穆沁旗| 珲春市| 平原县| 郴州市| 南平市| 疏勒县| 天柱县| 如皋市| 温泉县| 望城县| 无极县| 遂平县| 长阳| 郑州市| 安乡县| 高尔夫| 虹口区| 黄平县| 治县。| 马鞍山市| 诸城市| 绥滨县| 仁寿县| 新巴尔虎左旗| 永和县| 鸡泽县| 上虞市|