真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android圖片處理教程之全景查看效果實(shí)現(xiàn)

前言

興國(guó)網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)公司2013年開(kāi)創(chuàng)至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。

在玩頭條的時(shí)候,現(xiàn)在我們會(huì)發(fā)現(xiàn)有很多的全景圖的廣告這樣快看起來(lái)非常的酷。今天就來(lái)說(shuō)說(shuō)這個(gè)小效果的實(shí)現(xiàn)

PS:Android對(duì)于圖片處理這塊資源還是挺多的,之前用OpenGL制作圖片的全景效果,耗時(shí)耗力,而且只能點(diǎn)擊進(jìn)去后看到,但是效果是非常的號(hào),今天所寫(xiě)的是編寫(xiě)好的一個(gè)圖片控件,只要拿來(lái)用就可以了。效果不是那么好,處理的之后就是一張圖片截取中間部分放大再顯示在屏幕中間,通過(guò)擺動(dòng)手機(jī)查看被遮擋部分

如圖:一開(kāi)始圖片是這樣的

Android圖片處理教程之全景查看效果實(shí)現(xiàn)

Android圖片處理教程之全景查看效果實(shí)現(xiàn)

上面就是效果圖了

實(shí)現(xiàn)方法如下

1:添加依賴(lài)

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

2:使用控件

布局的根目錄一定要加上

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

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

一個(gè)是app:piv_enablePanoramaMode,使用全景效果模式,app:piv_show_scrollbar滾動(dòng)條顯示,app:piv_invertScrollDirection顛倒?jié)L動(dòng)方向,不同的值就會(huì)呈現(xiàn)不同的效果。

3:注冊(cè)GyroscopeObserver

在使用PanoramaImageView的Activity或Fragment中,您應(yīng)該在onResume()中注冊(cè)GyroscopeObserver,并記得在onPause()中注銷(xiāo)它。

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();
 }
}

設(shè)置OnPanoramaScrollListener以觀察滾動(dòng)狀態(tài) 如果要在圖像滾動(dòng)時(shí)獲得回調(diào),PanoramaImageView需要設(shè)置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).
 }
});

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。


當(dāng)前標(biāo)題:Android圖片處理教程之全景查看效果實(shí)現(xiàn)
標(biāo)題鏈接:http://weahome.cn/article/gdsecs.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部