1

我正在开发一个 android 应用程序,我需要显示 HTML 页面。

我设法使用下面的网络视图做到了这一点

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <WebView 
    android:id="@+id/webView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    </WebView>

    <Button
            android:id="@+id/disease_consultation_button"
            android:layout_width="@dimen/buttonWidth"
            android:layout_height="@dimen/buttonHeight"
            android:layout_gravity="right"
            android:layout_marginRight="20dp"
            style="@style/buttonStyle"
            android:text="@string/continue_button" />

    </LinearLayout>

并来自java代码

WebView webView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.disease_web_view_activity);

       webView = (WebView) findViewById(R.id.webView1);
       webView.getSettings().setJavaScriptEnabled(true);

       String customHtml = "<html><body><h1>Hello, WebView</h1></body></html>";
       webView.loadData(customHtml, "text/html", "UTF-8");

    }

该按钮没有出现在视图中,我不知道为什么?

谁能帮帮我?

视图看起来像这样

出现的视图

编辑:这就是我所做的并解决了问题=)

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <RelativeLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >    

     <TextView android:id="@+id/disease_consultation_titleTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="@style/activityTitle" />

    <Button
            android:id="@+id/disease_consultation_button"
            android:layout_width="wrap_content"
            android:layout_height="@dimen/buttonHeight"
            android:layout_gravity="right"
            android:layout_marginLeft="550dp"
            android:layout_marginTop="80dp"
            style="@style/buttonStyle"
            android:text="@string/request_new_consultation" />

    <WebView 
            android:id="@+id/webView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="150dp" >

    </WebView>

</RelativeLayout>
4

3 回答 3

1

您可以做的一件事是放置第一个按钮(或另一个包含多个项目的布局),然后添加您的 WebView,例如

<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" >

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

<WebView
    android:id="@+id/webView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
</LinearLayout>

希望这可以帮助...

于 2012-08-15T09:23:39.933 回答
0

它不会出现。:)

AWebView就像一个浏览器,它呈现 HTML 页面的内容。
因此,如果您需要在 中显示一个按钮WebView,您应该使用该按钮创建一个 HTML 页面并提供WebView显示它的 url。

如果您想显示一个 HTML 按钮,请在您的代码中包含一个:

String customHtml = "<html><body><h1>Hello, WebView</h1>
                         <button type="button">Click Me!</button> 
                     </body></html>";
于 2012-08-15T09:11:41.533 回答
0

a 的默认方向LinearLayout是水平的。由于您的 WebView 与父元素的宽度(即android:layout_width="fill_parent")相匹配,因此 WebView 将使用所有可用的宽度。

要解决您的问题,请LinearLayout通过设置设置垂直方向android:orientation="vertical"。有了这个,布局中的元素将显示为彼此波纹,而不是并排。

您可以在developer.android.com阅读有关此主题的更多信息。

编辑:代码

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

    <WebView 
        android:id="@+id/webView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

    </WebView> 

    <Button
        android:id="@+id/disease_consultation_button"
        android:layout_width="@dimen/buttonWidth"
        android:layout_height="@dimen/buttonHeight"
        android:layout_gravity="right"
        android:layout_marginRight="20dp"
        style="@style/buttonStyle"
        android:text="@string/continue_button" />

</LinearLayout>
于 2012-08-15T10:10:55.707 回答