国产探花免费观看_亚洲丰满少妇自慰呻吟_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開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 专栏| 六盘水市| 珲春市| 墨竹工卡县| 望城县| 青神县| 高雄市| 连州市| 巴林左旗| 永吉县| 肥乡县| 兴义市| 绥德县| 遵义市| 大荔县| 视频| 乌拉特后旗| 南部县| 瑞昌市| 聂荣县| 遵化市| 五家渠市| 墨脱县| 东乡族自治县| 铜鼓县| 阿图什市| 任丘市| 蓬莱市| 乌恰县| 旬邑县| 星座| 韩城市| 绥棱县| 绥滨县| 肥西县| 方正县| 萍乡市| 白玉县| 涞源县| 安泽县| 休宁县|