1

レイアウトが変更されたときに 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>

下部の 1 つのレイアウトは VISIBLE に設定されています

下のレイアウトを GONE に設定した後

4

1 に答える 1

0

私も探していた結果を得るために、これらの PercentRelativeLayouts をいじる必要がありました。以下は、フラグメントを使用したことを除いて、探しているのと同じ結果を得るために使用したコードです。これを複数のデバイスでテストしたところ、さまざまな画面サイズのすべてで機能しました。あなたの場合、「article_preview_frame」FrameLayoutをTextureViewに置き換えて、どこに到達するかを確認することをお勧めします。通常の RelativeLayout 内に PercentRelativeLayout を埋め込むようにしてください。

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/article_preview_relative_layout"
>

<android.support.percent.PercentRelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/article_preview_container">

    <FrameLayout
        app:layout_widthPercent="100%"
        app:layout_aspectRatio="178%"
        android:layout_alignParentTop="true">

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/article_preview_frame"
            />
于 2016-06-07T23:17:37.707 に答える