0

スクロールビュー内の画面サイズの 50% の 2 つの 2 つの線形レイアウトを設定しようとしていますが、レイアウトが画面サイズの 50% を占めていません。これが私のレイアウトです。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rlScrollingPlayList"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ScrollView
        android:id="@+id/svPlayList"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <LinearLayout
            android:id="@+id/llScrollingContent"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"

            android:weightSum="100">
               <LinearLayout android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="50">

                   <Button
                       android:id="@+id/btOne"
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:layout_weight="50"
                       android:text="Button" />

        </LinearLayout>
        <LinearLayout android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="50">

            <Button
                android:id="@+id/btTwo"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Button" />

</LinearLayout>

        </LinearLayout>
    </ScrollView>

</RelativeLayout>
4

6 に答える 6

0

ここでは重みは関係ありません。動的に行う必要があります。displaymetrics を使用して画面サイズを取得し、これらのパラメーターを高さと幅としてそのレイアウトに動的に設定します。

于 2013-06-25T06:59:14.537 に答える
0

ScrollView の問題は、dp または px で高さ/幅を指定しないと、ScrollView がすべての高さと幅を wrap_content に設定することです。画面を 2 つに分割したい場合は、分割されたレイアウト内でスクロールを使用することをお勧めします。

例:

<LinearLayout  android:weightSum="1"
               android:layout_height="fill_parent"
               android:layout_width="fill_parent">
<LinearLayout android:layout_height=0.5
              android:layout_width="fill_parent">
 <ScrollView>
  <LinearLayout/>
 </ScrollView>
</LinearLayout>

<LinearLayout android:layout_height=0.5
              android:layout_width="fill_parent">
 <ScrollView>
  <LinearLayout/>
 </ScrollView>
</LinearLayout>
</LinearLayout> 
于 2013-06-25T07:04:34.250 に答える
0
<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/rlScrollingPlayList"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <ScrollView
            android:id="@+id/svPlayList"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

            <LinearLayout
                android:id="@+id/llScrollingContent"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:weightSum="2"
                android:orientation="vertical">

             <LinearLayout 
                  android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
                  android:layout_weight="1">

                 <Button
                      android:id="@+id/btOne"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="Button" />

            </LinearLayout>
            <LinearLayout android:layout_width="fill_parent"
                          android:layout_height="wrap_content"
                          android:layout_weight="1">

                <Button
                    android:id="@+id/btTwo"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="Button" />

    </LinearLayout>

            </LinearLayout>
        </ScrollView>

    </LinearLayout>
于 2013-06-25T07:08:28.460 に答える
0
Display dis = getActivity().getWindowManager().getDefaultDisplay();
int width = dis.getWidth() * 50 / 100;
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
                                    width,
                                    RelativeLayout.LayoutParams.FILL_PARENT);

                            homeFrameLayout.setLayoutParams(lp);
于 2013-06-25T07:04:21.213 に答える
0

以下のコードを試してください:-

    <LinearLayout
        android:id="@+id/llScrollingContent"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:weightSum="2.0" >

        <RelativeLayout
            android:id="@+id/child_one"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1.0"
            android:background="#0000FF" >

            <Button
                android:id="@+id/btOne"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/child_one"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1.0"
            android:background="#0FF0FF" >

            <Button
                android:id="@+id/btTwo"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Button" />
        </RelativeLayout>
    </LinearLayout>

以下のコードのようにスクロールビューを動的に追加します:-

LinearLayout maincontainer = (LinearLayout) findViewById(R.id.weatherInfo);
maincontainer.setOrientation(LinearLayout.HORIZONTAL);

final HorizontalScrollView scrollView = new HorizontalScrollView(getApplicationContext());
maincontainer.addView(scrollView);

final LinearLayout linearLayout = new LinearLayout(getApplicationContext());
linearLayout.setOrientation(LinearLayout.HORIZONTAL);

scrollView.addView(linearLayout);
于 2013-06-25T08:30:52.460 に答える
0

両方の LinearLayouts から android:layout_height="fill_parent" を削除します。そして交換

android:layout_height="0dp"
android:layout_weight="1" 

両方で!

于 2013-06-25T07:09:19.473 に答える