Android,滚动视图和无用的布局

jam*_*esc 2 android android-layout

我有一个使用滚动视图的布局.滚动视图中文本的第一部分在模拟器中被切断,在HTC手机上,滚动视图滚动超过文本的末尾,需要大量滚动才能返回文本.

Eclipse抱怨说"这个ScrollView布局或其LinearLayout父版本是无用的",我怀疑这条消息是我的困境的主要罪魁祸首,但很高兴能够得到纠正

布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/Container"
    android:id="@+id/about">
        <ScrollView style="@style/Content">
                <TextView style="@style/Content"
                    android:id="@+id/about_content"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/about_text" />
        </ScrollView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

风格

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MainTheme">
        <item name="android:textColor">@color/txtColor</item>
    </style>
    <style name="ApplicationTheme" parent="android:Theme">
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:colorBackground">@color/mnuColor</item>
        <item name="android:textColor">@color/txtColor</item>
    </style>
    <style name="Container" parent="ApplicationTheme">
        <item name="android:textColor">@color/txtColor</item>
        <item name="android:layout_height">fill_parent</item>
        <item name="android:layout_width">fill_parent</item>
        <item name="android:colorBackground">@color/mnuColor</item>
    </style>
    <style name="Webview" parent="Container">
        <item name="android:background">@drawable/web_background_image</item>
        <item name="android:windowBackground">@drawable/background_image</item>
        <item name="android:colorBackground">@color/mnuColor</item>
    </style>
    <style name="MyPlaceDialog" parent="@android:style/Theme.Dialog">
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_width">fill_parent</item>
        <item name="android:orientation">vertical</item>
        <item name="android:stretchColumns">*</item>   
    </style>
    <style name="Content">
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_gravity">center</item>
    </style>

    <style name="button" parent="@android:style/Widget.Button">
        <item name="android:background">@drawable/button</item>
        <item name="android:layout_marginTop">2dp</item>
        <item name="android:layout_marginBottom">3dp</item>
        <item name="android:layout_marginLeft">4dp</item>
        <item name="android:layout_marginRight">4dp</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
    </style>    
</resources>
Run Code Online (Sandbox Code Playgroud)

机器人文档在帮助解释为什么布局可能无用而且eclipse不是更好的时候完全无用,所以对于我需要做什么来解决这个问题的任何想法都非常感激

dym*_*meh 7

您的线性布局仅包含一个视图.因此,可以消除LinearLayout,并且可以将ScrollView作为布局的根元素.

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" style="@style/Content">
    <TextView style="@style/Content"
       android:id="@+id/about_content"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="@string/about_text" />
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

请注意,lint并不总是100%准确.虽然你可以删除视图是正确的,但它并不总是你想要或需要做的事情.