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

首頁 > 系統 > Android > 正文

Android圖片處理教程之全景查看效果實現

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

前言

在玩頭條的時候,現在我們會發現有很多的全景圖的廣告這樣快看起來非常的酷。今天就來說說這個小效果的實現

PS:Android對于圖片處理這塊資源還是挺多的,之前用OpenGL制作圖片的全景效果,耗時耗力,而且只能點擊進去后看到,但是效果是非常的號,今天所寫的是編寫好的一個圖片控件,只要拿來用就可以了。效果不是那么好,處理的之后就是一張圖片截取中間部分放大再顯示在屏幕中間,通過擺動手機查看被遮擋部分

如圖:一開始圖片是這樣的

Android,圖片處理,全景

Android,圖片處理,全景

上面就是效果圖了

實現方法如下

1:添加依賴

//全景圖片 compile 'com.gjiazhe:PanoramaImageView:1.0'

2:使用控件

<com.gjiazhe.panoramaimageview.PanoramaImageView  android:id="@+id/panorama_image_view"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:src="@drawable/timg"  app:piv_enablePanoramaMode="true"  app:piv_show_scrollbar="true"  app:piv_invertScrollDirection="false" />

布局的根目錄一定要加上

 xmlns:app=http://schemas.android.com/apk/res-auto

這里面有三個屬性(其中三個)

一個是app:piv_enablePanoramaMode,使用全景效果模式,app:piv_show_scrollbar滾動條顯示,app:piv_invertScrollDirection顛倒滾動方向,不同的值就會呈現不同的效果。

3:注冊GyroscopeObserver

在使用PanoramaImageView的Activity或Fragment中,您應該在onResume()中注冊GyroscopeObserver,并記得在onPause()中注銷它。

public class MyActivity extends AppCompatActivity {  private GyroscopeObserver gyroscopeObserver; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  // Initialize GyroscopeObserver.  gyroscopeObserver = new GyroscopeObserver();  // Set the maximum radian the device should rotate to show image's bounds.  // It should be set between 0 and π/2.  // The default value is π/9.   gyroscopeObserver.setMaxRotateRadian(Math.PI/9);  PanoramaImageView panoramaImageView = (PanoramaImageView) findViewById(R.id.panorama_image_view);  // Set GyroscopeObserver for PanoramaImageView.  panoramaImageView.setGyroscopeObserver(gyroscopeObserver); } @Override protected void onResume() {  super.onResume();  // Register GyroscopeObserver.  gyroscopeObserver.register(this); } @Override protected void onPause() {  super.onPause();  // Unregister GyroscopeObserver.  gyroscopeObserver.unregister(); }}

設置OnPanoramaScrollListener以觀察滾動狀態 如果要在圖像滾動時獲得回調,PanoramaImageView需要設置OnPanoramaScrollListener。

panoramaImageView.setOnPanoramaScrollListener(new PanoramaImageView.OnPanoramaScrollListener() { @Override public void onScrolled(PanoramaImageView view, float offsetProgress) {  // Do something here.  // The offsetProgress range from -1 to 1, indicating the image scrolls  // from left(top) to right(bottom). }});

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阜宁县| 甘南县| 攀枝花市| 银川市| 肥乡县| 那曲县| 独山县| 江陵县| 德钦县| 西城区| 濮阳县| 古丈县| 镇远县| 洛浦县| 仪陇县| 资兴市| 镇康县| 浦江县| 宁武县| 云南省| 乾安县| 南涧| 伊川县| 清原| 婺源县| 黎平县| 全椒县| 桐柏县| 尼木县| 天全县| 谷城县| 苏尼特左旗| 察隅县| 安阳市| 土默特左旗| 长武县| 新宾| 曲麻莱县| 五莲县| 舞阳县| 乐至县|