レイアウトが変更されたときに textureview が 16:9 の比率を維持するようにしようとしています。私はそれを実装するために percentrelativelayout を使用します。また、テクスチャビューが幅/高さの両方で画面サイズを超えないようにする必要があります。だから私はそれが画面を超えないように2つのレイヤーを使用します.
Androidスタジオのレイアウトプレビューで完全にサイズ変更されます。ただし、デバイスの実行時に比率を維持するために幅は変更されません。
レイアウト xml とスクリーンショットを次に示します。
誰かが同じ質問に遭遇しましたか?
<android.support.percent.PercentRelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center">
<android.support.percent.PercentRelativeLayout
android:id="@+id/percent"
app:layout_aspectRatio="178%"
app:layout_widthPercent="100%"
android:background="@android:color/darker_gray">
<TextureView
android:id="@+id/texture"
app:layout_aspectRatio="178%"
app:layout_heightPercent="100%"
android:layout_centerInParent="true">
</TextureView>
</android.support.percent.PercentRelativeLayout>
</android.support.percent.PercentRelativeLayout>