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

首頁 > 系統 > Android > 正文

Android實現大圖滾動顯示效果

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

問題:

       我有一張比較大的圖片,比如長寬都是屏幕的兩倍大小,我想實現的功能是首先將圖片居中顯示,由于圖片太大顯然只能顯示一部分,然后可以通過拖動,實現圖片的平滑滾動(既看不出來滾動刷新痕跡)。

       就像google地圖一樣,如果用mapView這個控件,那么可以在屏幕上拖動整個地圖,但是由于地圖信息量太大,如果一次拖動過快,那么屏幕會暫時顯示出一些刷新痕跡(灰白的格子)。

       想使用mapView來加載已有圖片,但是沒有成功,后來也使用了Srollview控件,和最常用的imageView,還是沒有成功。 

解決:

       經過大量查資料,使用imageView配合onTouch事件,可以解決。

關鍵代碼:

布局文件中imageView控件如下

<ImageView   android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:id="@+id/img"   android:scaleType="center"   android:background="#fff"   android:src="@drawable/picName" /> 

Activity文件中主要代碼如下

@Override public void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);    setContentView(R.layout.xml_name_layout);    final ImageView switcherView = (ImageView) this.findViewById(R.id.img);    switcherView.setOnTouchListener(new View.OnTouchListener() {      public boolean onTouch(View arg0, MotionEvent event) {        float curX, curY;        switch (event.getAction()) {          case MotionEvent.ACTION_DOWN:           mx = event.getX();           my = event.getY();           break;         case MotionEvent.ACTION_MOVE:           curX = event.getX();           curY = event.getY();           switcherView.scrollBy((int) (mx - curX), (int) (my - curY));           mx = curX;           my = curY;           break;         case MotionEvent.ACTION_UP:           curX = event.getX();           curY = event.getY();           switcherView.scrollBy((int) (mx - curX), (int) (my - curY));           break;       }        return true;     }   });  } 

原圖

Android,滾動

模擬器里效果

Android,滾動

Android,滾動

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


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 白银市| 葫芦岛市| 桃江县| 平和县| 福建省| 侯马市| 腾冲县| 长宁县| 龙陵县| 牟定县| 温泉县| 五常市| 鸡西市| 潍坊市| 漳平市| 津南区| 元谋县| 黎城县| 乡城县| 高碑店市| 姚安县| 延川县| 偏关县| 东乡县| 蓝田县| 天镇县| 收藏| 宿迁市| 新化县| 赤水市| 太原市| 通海县| 彭水| 承德市| 沭阳县| 屯留县| 瓦房店市| 威远县| 三穗县| 宿松县| 汉川市|