2014-01-06 5 views
13

私のアンドロイドアプリケーションで写真の画像を開くときに問題が発生しました。確かに、私はそれを開くことができますが、アプリケーションは写真のプレビューの並べ替えを表示(それは左から右に画像をスクロール)。右下のボタンをクリックせずに、アプリケーションがアクロメータモード(画像全体を表示するために電話機を回すモード)で光球を開くようにします。オープンパノラマのAndroidの場合に光球モードを設定する方法

私はパノラマを開くためにそのコードを使用

以下
public class YourActivity extends Activity implements ConnectionCallbacks, 
     OnConnectionFailedListener { 

private GoogleApiClient gacClient; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    gacClient= new GoogleApiClient.Builder(this, this, this) 
      .addApi(Panorama.API) 
      .build(); 
} 

@Override 
public void onStart() { 
    super.onStart(); 
    gacClient.connect(); 
} 

@Override 
public void onConnected(Bundle connectionHint) { 
    Uri uri = Uri.parse("file://" + Environment.getExternalStorageDirectory() + "/DCIM/Camera/PANO_20131209_130755.jpg"); 

    Panorama.PanoramaApi.loadPanoramaInfo(gacClient, uri).setResultCallback(
      new ResultCallback<PanoramaResult>() { 
     @Override 
     public void onResult(PanoramaResult result) { 
      Intent i; 
      if (result.getStatus().isSuccess() && (i = result.getViewerIntent()) != null) { 
       startActivity(i); 
      } else { 
       // Handle unsuccessful result 
      } 
     } 
    }); 
} 

@Override 
public void onConnectionSuspended(int cause) { 
    // Handle connection being suspended 
} 

@Override 
public void onConnectionFailed(ConnectionResult status) { 
    // Handle connection failure. 
} 

@Override 
public void onStop() { 
    super.onStop(); 
    gacClient.disconnect(); 
} 
} 

は、ライブラリのリンクと例です:

+0

'' file:// "+"/sdcard' - これは悪いアプローチです。 'Environment'クラスを参照 –

+0

はい私はこれをテストのために入れています。 – benoitm76

+0

イメージをスクロールするボタンのコードを提供してください。 – ProllyGeek

答えて

3

は、以下の以下の情報がお役に立てば幸い事前に

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_VIEW); 
intent.setComponent(new ComponentName("com.google.android.gms", "com.google.android.gms.panorama.PanoramaViewActivity")); 
intent.setData(Uri.parse("file://" + Environment.getExternalStorageDirectory() + "/DCIM/Camera/PANO_20131209_130755.jpg")); 
startActivity(intent); 

おかげで、 PhotoSphereを使用せずにGoogle+

https://github.com/kennydude/photosphere

Intent i = new Intent(MainActivity.this, SphereViewer.class); 
       i.setData(Uri.parse("file://" + Environment.getExternalStorageDirectory() + "/DCIM/Camera/PANO_20131209_130755.jpg")); 
       startActivity(i); 

光球は、しかし、私はあなたが第二の溶液を使用し、独自の加速度計の機能を追加することができます確信して、ジャイロスコープと加速度計ませんを使用しています。

+0

OPによると、 "私のアプリケーションでは、写真を公開したいと思っています。右下のボタンをクリックせずに、加速度計モード(電話機を回して画像全体を表示するモード)を選択してください。プレビューモード、加速度計モードではありません。 – aga

+0

編集された部分を下部に表示してください。 –

+1

私は、「右下のボタンをクリックせずに電話機を回して全体の画像を表示する必要があるモード」というモードで、パノラマを開始することを希望しました。あなたのソリューションは、OPソリューションと同様に、プレビューモードでパノラマを開きます(唯一の違いは、あなたのソリューションが新しいAPIに適合していることです)。 – aga

関連する問題