2017-01-19 13 views
1

私は、Googleのcamera2Basicサンプルコードを変更しようとしています。 <TextureView/>をフルスクリーンにしようとして、「画像」と「情報」ボタンを含む<FrameLayout/>を削除しました。ただし、プレビューは画面全体を満たしていません。その下に黒いバーが残ります。私はこれが付属しているAutoFitTextureViewと関係があると信じていますが、どのように動作しているかについてのドキュメンテーションを提供していないので、修正できません。フルスクリーンプレビューカメラ2基本的な例プロジェクト

答えて

2

私はGalaxy Note 5の前にこのまったく同じ問題を感じました。私はそれがアスペクト比を設定する方法と関係していたと信じています。このAPIには明らかにいくつかの制限があります。 AutoFitTextureViewでアスペクト比を設定しないことで修正しました。この例では具体的に

は、メソッドのsetCameraOutput(int型の幅、int型の高さ)で、単純にこれらのコード行を削除する(行574 - あなたの例では580):

if (orientation == Configuration.ORIENTATION_LANDSCAPE) { 
    mTextureView.setAspectRatio(mPreviewSize.getWidth(),mPreviewSize.getHeight()); 
} else { 
    mTextureView.setAspectRatio(mPreviewSize.getHeight(),mPreviewSize.getWidth()); 
} 

私は信じている例では、彼らはキャプチャエリアを制限しようとしています。おそらくあなたが見ている黒いバーにつながっています(おそらく、あなたが開発した人よりも大きなデバイスでビルドしているためです)。

+0

それはトリックでした、ありがとう!それはこれがすべてのデバイスで動作しないことを意味しますか? – Carpetfizz

+1

私はAPI自体がデバイスによって制限されているとは思っていません。それは、彼らが計算して、あなたにこれを信じさせるアスペクト比(彼らが1920 * 1080の解像度を仮定する)を仮定する方法です。私はそれをテストしなかったので、これは私の最後からの推測です。しかし、それもあなたのために働いて以来、私は私の丁寧さが正しいと言うでしょう – ucsunil

+0

ちょっと、私はこれを行うと、プレビューフレームが伸びて歪んで – Carpetfizz

関連する問題