WebView的高度问题

发布于 2024-09-29 07:17:34 字数 4192 浏览 3 评论 0原文

我有下一个 xml 布局文件:

<ViewFlipper android:id="@+id/details"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <!-- ListView que define la lista de noticias -->
    <ListView
        android:id="@+id/list"
        android:cacheColorHint="@android:color/transparent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>

    <!-- Layout del detalle de una noticia -->
    <ScrollView
      android:id="@+id/scroll"  
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="#FFFFFFFF">

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

            <RelativeLayout android:id="@+id/top"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:padding="2dip"
                android:background="@drawable/header">
                <Button android:id="@+id/back" 
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" 
                    android:layout_marginTop="5.0dip"
                    android:layout_marginLeft="5.0dip"
                    android:padding="5.0dip"
                    android:background="@drawable/custom_buttom"
                    android:text="Atrás" 
                    android:textStyle="bold"
                    android:textSize="11.0dip"
                    android:textColor="#FFFFFF"/>

                <Button android:id="@+id/share"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5.0dip"
                    android:layout_marginRight="5.0dip"
                    android:padding="5.0dip"
                    android:background="@drawable/custom_buttom"
                    android:text="Compartir" 
                    android:textStyle="bold"
                    android:textColor="#FFFFFF"
                    android:textSize="11.0dip"
                    android:layout_alignParentRight="true">
                </Button>
            </RelativeLayout>

            <TextView
              android:id="@+id/title"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:layout_marginTop="12dip"
              android:padding="10dip"
              android:gravity="fill_horizontal"
              android:textStyle="bold"
              android:textSize="22dip"
              android:textColor="#000000"/>

            <TextView
              android:id="@+id/date"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:paddingLeft="10dip"
              android:gravity="left"
              android:textSize="11dip"
              android:textColor="#000000"/>

            <WebView
             android:id="@+id/message"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent"
             android:layout_marginTop="12dip"
             android:padding="10dip"
             android:gravity="fill_horizontal"
             android:textSize="14dip"
             android:layout_centerInParent="true"/>

            <TextView
              android:id="@+id/source"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:paddingLeft="10dip"
              android:gravity="center"
              android:textSize="11dip"
              android:textColor="#000000"/>
        </LinearLayout>
    </ScrollView>
</ViewFlipper>

其中 WebView 中的内容根据前一个 ListView(ViewFlipper 中的第一个视图)中选择的项目进行动态更改。

问题是当我在视图填充文本后在 WebView 中设置新内容时。如果第一个文本集比下一个文本集长,那么第二次我在 WebView 文本的结尾和屏幕中的页脚之间会出现很大的空白。有谁知道有什么问题吗?

我遇到的另一个问题是失焦。我第一次加载此视图时,它聚焦在顶部,但第二次加载时直接聚焦在 WebView 中。

I have the next xml layout file:

<ViewFlipper android:id="@+id/details"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <!-- ListView que define la lista de noticias -->
    <ListView
        android:id="@+id/list"
        android:cacheColorHint="@android:color/transparent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>

    <!-- Layout del detalle de una noticia -->
    <ScrollView
      android:id="@+id/scroll"  
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="#FFFFFFFF">

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

            <RelativeLayout android:id="@+id/top"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:padding="2dip"
                android:background="@drawable/header">
                <Button android:id="@+id/back" 
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" 
                    android:layout_marginTop="5.0dip"
                    android:layout_marginLeft="5.0dip"
                    android:padding="5.0dip"
                    android:background="@drawable/custom_buttom"
                    android:text="Atrás" 
                    android:textStyle="bold"
                    android:textSize="11.0dip"
                    android:textColor="#FFFFFF"/>

                <Button android:id="@+id/share"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5.0dip"
                    android:layout_marginRight="5.0dip"
                    android:padding="5.0dip"
                    android:background="@drawable/custom_buttom"
                    android:text="Compartir" 
                    android:textStyle="bold"
                    android:textColor="#FFFFFF"
                    android:textSize="11.0dip"
                    android:layout_alignParentRight="true">
                </Button>
            </RelativeLayout>

            <TextView
              android:id="@+id/title"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:layout_marginTop="12dip"
              android:padding="10dip"
              android:gravity="fill_horizontal"
              android:textStyle="bold"
              android:textSize="22dip"
              android:textColor="#000000"/>

            <TextView
              android:id="@+id/date"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:paddingLeft="10dip"
              android:gravity="left"
              android:textSize="11dip"
              android:textColor="#000000"/>

            <WebView
             android:id="@+id/message"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent"
             android:layout_marginTop="12dip"
             android:padding="10dip"
             android:gravity="fill_horizontal"
             android:textSize="14dip"
             android:layout_centerInParent="true"/>

            <TextView
              android:id="@+id/source"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:paddingLeft="10dip"
              android:gravity="center"
              android:textSize="11dip"
              android:textColor="#000000"/>
        </LinearLayout>
    </ScrollView>
</ViewFlipper>

where the content in the WebView is dinamically changed depending the item selected in a previous ListView (the first view in the ViewFlipper).

The problem is when I set a new content in the WebView after the view has been filled with text. If the first text set is longer than the next one, the second time I have a large blank space between the finish of the WebView text and the footer I have in the screen. Do anyone know what is the problem ?

Another problem I have is with de focus. The first time I load this view it is focused in the top, but the second one is focused directlly in the WebView.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

铜锣湾横着走 2024-10-06 07:17:34

我有类似的问题。通过使用 FrameLayout 解决了这个问题。

对于我来说,页面切换功能看起来像这样:

FrameLayout frame = (FrameLayout) findViewById(R.id.frame);
frame.removeAllViews();

WebView webView = new WebView(yourContext); 

// do whatever you need to do with webView

frame.addView(webView);

I had similar problem. Solved this by using FrameLayout.

Looks like this in the function for page switching for me:

FrameLayout frame = (FrameLayout) findViewById(R.id.frame);
frame.removeAllViews();

WebView webView = new WebView(yourContext); 

// do whatever you need to do with webView

frame.addView(webView);
自演自醉 2024-10-06 07:17:34

在您的 WebView 中尝试替换
android:layout_height="fill_parent"


android:layout_height="wrap_content"

In your WebView try replacing
android:layout_height="fill_parent"

with
android:layout_height="wrap_content"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文