3

以下のレイアウトでは、子の中心を揃えるために重力を中心とした線形レイアウトがあります。プログラムで Web ビューを追加し、そこに YouTube ビデオをロードしたいと考えています。問題は、Web ビューの高さと幅が wrap_content、wrap_content であることです。そのため、縦向きモードでは WebView は正常に機能し、中央に配置されますが、向きを横向き Web ビューに変更すると fill_parent になり、画面が水平に覆われるため、コンテンツが中央に表示されません。 ここにレイアウトファイルがあります

そして ここにアクティビティコード

以下は、ポートレートモードでの結果を示す画像です。これは問題ありません。線形レイアウトは緑色で、webview は青色です

ここでは、デバイスを横向きモードに回転すると、青色の webview が伸びて画面全体の幅を埋めます。

ここに画像の説明を入力

WebView を横向きモードでも縦向きモードでも中央に配置したいですか?これと修正を理解するのを手伝ってください。

4

4 に答える 4

1

動画を WebView に読み込む場合、WebView での位置合わせは html タスクです。動画を でラップし、<div>適切なスタイルを追加します (cssファイル内またはstyleタグ内の属性として):

<div style="margin:0 auto;width:500px;">
    //your video object is placed here
</div>

VideoView でビデオを再生することもできますが、これは少し難しいテクニックです。簡単に言うと、WebView の上に FrameLayout を追加し、HTML ファイルを介して VideoView を配置する座標を取得し、VideoView の座標で LayoutParams を適用する必要があります。向きが変更される場合は、VideoView を新しい座標で更新する必要があります。これに興味があれば、詳細を共有できます。

于 2013-10-16T13:14:04.573 に答える
0

これを試して

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:gravity="center"  >
<LinearLayout
   android:id="@+id/webViewPlaceholder"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:background="#00AC0F"
   >
</LinearLayout>

于 2013-09-06T11:32:57.330 に答える