1

WebView を含む LinearLayout を含むフラグメントがあります。WebView の HTML 文字列を変更すると、LinearLayout の背景が表示されないことがあります。私のフラグメント:

`

 <ScrollView 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:scrollbarStyle="outsideOverlay"
        tools:context=".NewsFragment" >

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

            <LinearLayout
            android:id="@+id/linearLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:background="@drawable/bg_item_single"
            android:orientation="vertical"
            android:padding="@dimen/list_margin" >

            <TextView
                android:id="@+id/text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="16dp"
                android:textColor="#000"
                android:textSize="20sp" />

            <WebView
                android:id="@+id/webview"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@drawable/transparent" />
        </LinearLayout>
    </LinearLayout>

</ScrollView>

`

他のlinearLayoutにlinearLayoutがある場合、scrollViewの下部にスペースを空けるだけで問題ありません。

私のコード: `

private void populate() {

        textView.setText(grant.getName());
        // Configure w`enter code here`ebview
        webview.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
        webview.getSettings().setJavaScriptEnabled(false);
        webview.setBackgroundColor(Color.argb(1, 0, 0, 0));
        webview.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                return (event.getAction() == MotionEvent.ACTION_MOVE);

            }
        });

        webview.loadDataWithBaseURL("file:///android_asset/", createFullHtmlPage("styles.css", grant.getGrantDescription(), 0), "text/html", "UTF-8", null);

    }

`

問題があるとは思いません。

4

3 に答える 3

1

問題を修正しました。LinearLayout の背景として図形を使用しましたが、webview が大きすぎる場合、理由は不明ですが、図形が機能せず、表示されません。したがって、今では、下隅と上隅を作成するために、色付きの背景と 2 つのイメージビューを使用しています。

 <ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbarStyle="outsideOverlay"
    tools:context=".NewsFragment" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:paddingBottom="50dp" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:orientation="vertical" >

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/bg_item_top" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/bg_item_default"
                android:orientation="vertical" >

                <TextView
                    android:id="@+id/text"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_margin="16dp"
                    android:textColor="#000"
                    android:textSize="20sp" />

                <WebView
                    android:id="@+id/webview"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_margin="@dimen/list_margin" />
            </LinearLayout>

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/bg_item_bottom" />
        </LinearLayout>
    </LinearLayout>
</ScrollView>
于 2013-10-31T15:35:04.837 に答える
0

この行にどのように問題があるかを理解しています

webview.setBackgroundColor(Color.argb(1, 0, 0, 0));

これを試して

webview.setBackgroundResource(color.blue);
于 2013-10-30T17:17:54.457 に答える