0

私はこのレイアウトを持っています:

<LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical">


                <SurfaceView
                    android:id="@+id/Preview"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_marginBottom="20dp"
                    android:layout_marginLeft="20dp"
                    android:layout_marginRight="20dp" />


                <VideoView
                    android:id="@+id/videoView"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_marginBottom="20dp"
                    android:layout_marginLeft="20dp"
                    android:layout_marginRight="20dp"/>
            </LinearLayout>

SurfaceView と VideoView は利用可能なスペースを均等に共有する必要があり、VideoView を最初に配置すると共有されます。上記のようにすると、SurfaceView がレイアウトのすべてのスペースを占有します。幅と高さの特定の dps を指定せずにこれを防ぐにはどうすればよいですか?

4

3 に答える 3

0

属性が示すように、両方がViews親を埋めています。android:layout_width=fill_parent

2つのビューが隣り合うように画面を均等に分割するには、ウェイトを使用できます。

        <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">


            <SurfaceView
                android:id="@+id/Preview"
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_marginBottom="20dp"
                android:layout_marginLeft="20dp"
                android:layout_marginRight="20dp"
                android:layout_weight="1" />


            <VideoView
                android:id="@+id/videoView"
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_marginBottom="20dp"
                android:layout_marginLeft="20dp"
                android:layout_marginRight="20dp"
                android:layout_weight="1" />
        </LinearLayout>
于 2012-10-05T14:51:21.940 に答える
0

layout_weight=1 を追加する必要があります

<LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical">


                <SurfaceView
                    android:id="@+id/Preview"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_marginBottom="20dp"
                    android:layout_marginLeft="20dp"
                    android:layout_marginRight="20dp" 
                    android:layout_weight="1"/>


                <VideoView
                    android:id="@+id/videoView"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_marginBottom="20dp"
                    android:layout_marginLeft="20dp"
                    android:layout_marginRight="20dp"
                    android:layout_weight="1"/>
            </LinearLayout>
于 2012-10-05T14:52:12.733 に答える
0

「weightSum=2」で試してみてください。また、両方のビューで余白を分割してください!

<LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical"
                android:layout_marginLeft="20dp"
                android:layout_marginRight="20dp"
                android:weightSum="2">


            <SurfaceView
                android:id="@+id/Preview"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_marginBottom="10dp"
                android:layout_weight="1"/>


            <VideoView
                android:id="@+id/videoView"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="20dp"
                android:layout_weight="1"/>
        </LinearLayout>
于 2012-10-05T15:47:28.727 に答える