1

これは私を完全に狂気に駆り立てています。Androidでやや複雑なレイアウトを使いたい。物事のサイズを修正するのではなく、重みを使用しようとしています。それはもう諦めた方がいいのかな…

これが私がやりたいことです:

ここに画像の説明を入力

3 つのスクロールビュー (内部にテキストビューを含む) とリストビューをすべて同じサイズにしたい。

私は 4 の重み合計で TableLayout を使用し、スクロールビューとリストビューを含む行に 1 の重みを与えました。重みが割り当てられていない他の行があるので、これは実際にはうまくいきました。しかし、リストビューが実際に読み込まれるか、テキストビューが複数の行を占有し始めると、すべてが台無しになります。全部同じ大きさにしてほしい。

現在の axml ファイルを以下に貼り付けました。私は何百万もの異なることを試しましたが、あきらめる準備ができています. これは本当に難しいことではありません。

前もって感謝します!

    <?xml version="1.0" encoding="utf-8"?>
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/StepTable"
    android:stretchColumns="*"
    android:orientation="vertical"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    android:background="@color/bgray"
    android:padding="15dp"
    android:weightSum="4">
    <TableRow
        style="@style/PhaseHeaderRow">
        <TextView
            android:text="Header 1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_span="3"
            style="@style/PhaseHeader" />
    </TableRow>
    <TableRow
        style="@style/PhaseRow.ListHeader"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:orientation="horizontal"
            android:weightSum="8"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_span="3">
            <TextView
                android:id="@+id/txt_PhaseListNumber"
                android:gravity="center"
                android:layout_weight="1"
                android:text="Sub"
                style="@style/PhaseTextView.List"
                android:width="0px"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="2dp" />
            <TextView
                android:id="@+id/txt_PhaseListStatus"
                android:layout_weight="2"
                android:gravity="center"
                style="@style/PhaseTextView.List"
                android:width="0px"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="2dp"
                android:text="head" />
            <TextView
                android:id="@+id/txt_PhaseListNote"
                android:layout_weight="5"
                android:gravity="left"
                android:text="er"
                style="@style/PhaseTextView.List"
                android:width="0px"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="2dp" />
        </LinearLayout>
    </TableRow>
    <TableRow
        android:id="@+id/row_StepList"
        android:layout_weight="1"
        android:layout_width="fill_parent"
        android:background="#ff9abf2f"
        android:layout_height="wrap_content">
        <ListView
            android:id="@+id/list_Steps"
            android:layout_span="3"
            android:listSelector="#44ff0000"
            android:drawSelectorOnTop="true"
            android:choiceMode="singleChoice"
            android:layout_width="fill_parent" />
    </TableRow>
    <TableRow
        android:id="@+id/row_PhaseDescHeader"
        style="@style/PhaseHeaderRow"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/txt_PhaseDescHeader"
            style="@style/PhaseHeader"
            android:text="Header 2" />
    </TableRow>
    <TableRow
        android:id="@+id/row_TesterActionLabel"
        style="@style/PhaseRow.ListHeader"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/txt_TesterActionLabel"
            android:text="SubHeader"
            style="@style/PhaseTextView.List"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    </TableRow>
    <TableRow
        android:id="@+id/row_TesterAction"
        style="@style/PhaseRow"
        android:layout_weight="1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <ScrollView
            android:id="@+id/scroller_TesterAction"
            android:layout_weight="1"
            android:scrollbars="vertical"
            android:fillViewport="true"
            android:layout_span="3"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView
                android:id="@+id/txt_TesterAction"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:textSize="15sp"
                android:ellipsize="start"
                android:text="ScollView with TextView Inside" />
        </ScrollView>
    </TableRow>
    <TableRow
        android:id="@+id/row_ExitCriteraLabel"
        style="@style/PhaseRow.ListHeader"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/txt_ExitCriteraLabel"
            android:text="SubHeader"
            style="@style/PhaseTextView.List"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    </TableRow>
    <TableRow
        android:id="@+id/row_ExitCritera"
        style="@style/PhaseRow"
        android:layout_weight="1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <ScrollView
            android:id="@+id/scroller_ExitCritera"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scrollbars="vertical"
            android:fillViewport="true"
            android:layout_span="3">
            <TextView
                android:id="@+id/txt_ExitCritera"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:textSize="15sp"
                android:ellipsize="start"
                android:text="Another ScollView with TextView Inside" />
        </ScrollView>
    </TableRow>
    <TableRow
        android:id="@+id/row_PhaseNotesHeader"
        style="@style/PhaseHeaderRow">
        <TextView
            android:id="@+id/txt_PhaseNotesHeader"
            style="@style/PhaseHeader"
            android:text="Header 3" />
    </TableRow>
<!-- -->
    <TableRow
        android:id="@+id/row_Notes"
        style="@style/PhaseRow"
        android:layout_weight="1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <ScrollView
            android:id="@+id/scroller_Notes"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scrollbars="vertical"
            android:fillViewport="true"
            android:layout_span="3">
            <TextView
                android:id="@+id/txt_Notes"
                android:layout_width="fill_parent"
                android:textSize="17sp"
                android:layout_height="wrap_content"
                android:text="Yet another ScollView with TextView Inside"
                android:singleLine="false"
                android:ellipsize="none" />
        </ScrollView>
    </TableRow>
</TableLayout>
</TableLayout>
4

2 に答える 2

1

ここに画像の説明を入力

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#a3c3c3"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#B40404"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Header1"
                android:textAppearance="?android:attr/textAppearanceLarge" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#F78181"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="sub1"
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="sub2"
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="sub3"
                android:textAppearance="?android:attr/textAppearanceLarge" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/ln1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/textView1"
            android:layout_weight="1"
            android:background="#a3c3c3" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#F78181"
                android:text="sub Header1"
                android:textAppearance="?android:attr/textAppearanceLarge" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/ln1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/textView1"
            android:layout_weight="1"
            android:background="#a3c3c3" >

            <ListView
                android:id="@+id/listView1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1" >
            </ListView>
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#a3c3c3"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#B40404"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Header2"
                android:textAppearance="?android:attr/textAppearanceLarge" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#F78181"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="sub1"
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="sub2"
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="sub3"
                android:textAppearance="?android:attr/textAppearanceLarge" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/ln1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_below="@+id/textView1"            
            android:background="#a3c3c3" android:layout_weight="1">

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

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

                    <TextView
                        android:id="@+id/textView2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="TextView" />

                </LinearLayout>
            </ScrollView>

        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#F78181"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="sub2"
                android:textAppearance="?android:attr/textAppearanceLarge" android:layout_weight="1"/>

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="sub2"
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="sub3"
                android:textAppearance="?android:attr/textAppearanceLarge" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/ln1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_below="@+id/textView1"            
            android:background="#a3c3c3" android:layout_weight="1">

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

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

                    <TextView
                        android:id="@+id/textView2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="TextView" />

                </LinearLayout>
            </ScrollView>

        </LinearLayout>

     </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#a3c3c3"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#B40404"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Header3"
                android:textAppearance="?android:attr/textAppearanceLarge" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#F78181"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="sub1"
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="sub2"
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="sub3"
                android:textAppearance="?android:attr/textAppearanceLarge" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/ln1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/textView1"
            android:background="#a3c3c3" >
        </LinearLayout>

        <LinearLayout
            android:id="@+id/ln1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/textView1"
            android:layout_weight="1"
            android:background="#a3c3c3" >

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

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

                    <TextView
                        android:id="@+id/textView2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="TextView" />

                </LinearLayout>
            </ScrollView>

        </LinearLayout>
    </LinearLayout>

</LinearLayout>
于 2012-11-28T17:45:32.970 に答える
0

WebView には独自のスクロール機能があるため、TextView の代わりに WebView を使用できます。

次のコードでデータをロードできます。

 WebView wv = (WebView)findViewById(R.id.webView1);
 wv.loadDataWithBaseURL("file:///android_asset/", description, "text/html", "utf-8", null);

一方、同じ重みを持つ 4 つの RelativeLayout を持つ垂直 LinearLayout を使用するので、それらは同じスペースを使用します。次に、これらの RelativeLayouts 内の WebView と ListViews は、高さとして match_parent を持つことができます。

于 2012-11-28T17:26:15.377 に答える