0

解决 了这个问题是通过在不同的平板电脑上调试我的应用程序来“解决”的。我使用的第一台平板电脑是三星 Tab 2 10.1。现在我使用的是三星 Note 10.1,它运行良好。我很乐意从遇到相同问题的任何人那里获得一些反馈,以了解更多信息。

发布 这是我在这个论坛上的第一篇文章。我正在为 android 开发一个应用程序,我正面临一个具有挑战性的问题。我还没有找到与这个问题相关的任何帖子,因为我不知道如何解决它,所以我决定在这里解释一下。假设这是我给你的圣诞礼物;)

好的,这就是我要做的。基本上,我用这个 xml 文件填充了一个片段:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >
    <ScrollView
       android:layout_width="fill_parent"
       android:layout_height="fill_parent" >
        <LinearLayout
           android:layout_width="fill_parent"
           android:layout_height="fill_parent"
           android:orientation="vertical" >
            <LinearLayout style="@style/LayoutDetailsStep" >
                <TextView
                   style="@style/textkey"
                   android:text="Name:" />
                <TextView
                   android:id="@+id/name"
                   style="@style/editkey" />
            </LinearLayout>
            <LinearLayout style="@style/LayoutDetailsStep" >
                <TextView
                   style="@style/textkey"
                   android:text="Description:" />
                <TextView
                   android:id="@+id/description"
                   style="@style/editkey" />
            </LinearLayout>
            <LinearLayout style="@style/LayoutDetailsStep" >
                <TextView
                   style="@style/textkey"
                   android:text="SOP:" />
                <WebView
                   android:id="@+id/sop"
                   style="@style/editkey" />
            </LinearLayout>
            <LinearLayout style="@style/LayoutDetailsStep" >
                <TextView
                   style="@style/textkey"
                   android:text="Notes:" />
                <TextView
                   android:id="@+id/notes"
                   style="@style/editkey" />
            </LinearLayout>
        </LinearLayout>
    </ScrollView>
</LinearLayout>

所以基本上,我的片段由一个 ScrollView 组成,该 ScrollView 由 4 个 LinearLayouts 组成,每个包含一个 TextView 和一个 TextView/WebView。我将样式LayoutDetailsS​​tep应用于每个 LinearLayout 这是这个:

 <style name="LayoutDetailsStep"  >
     <item name="android:layout_width">fill_parent</item>
     <item name="android:layout_height">wrap_content</item>
     <item name="android:orientation">horizontal</item>
     <item name="android:background">@drawable/round_border</item>
     <item name="android:layout_marginLeft">20dp</item>
     <item name="android:layout_marginRight">20dp</item>
     <item name="android:layout_marginTop">5dp</item>
     <item name="android:layout_marginBottom">5dp</item>
 </style>

该样式包含一个背景 *round_border* 这是这个:

 <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
        <corners android:radius="20dp"/>
        <padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp" />
        <solid android:color="#ffffffff" />
        <stroke android:width="3dp" android:color="#000000"/>
    </shape>

当一切顺利时,我有一堆漂亮的 4 LinearLayout 和漂亮的圆形边框。只要 LinearLayout 中的项目很小,一切都很好。它看起来像这样:正常时的图像

当项目大于片段本身的大小时,就会出现问题。当 WebView/TextView 的高度(两者都有问题)大于 Fragment 的高度时,背景消失。它看起来像这样:背景消失了

在实践中,TextView 非常小,并且不会发生此问题。但是我可以显示比较大的WebView,这会导致背景消失,这意味着WebView的LinearLayout周围没有圆形边框。 我坚持认为它不是特定于 WebView,如果 TextView 足够大,我也会遇到同样的问题。

如果有人知道发生了什么...我很乐意阅读您的建议:D

戈尔达克

4

1 回答 1

0

显然它已在 4.0.4 中修复。

于 2013-04-02T15:26:04.320 回答