4

我对Android超级陌生-

我在屏幕上放入了一个滚动视图,只是在其中放置了一些文本。我这样做是因为在某些手机上,文本会从屏幕上消失。

我遇到的问题是我放到页面上的滚动视图比它包含的内容长——手机屏幕越窄,滚动视图越长。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:fillViewport="true" >

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/app_background"
    android:orientation="vertical"
    android:padding="10dp" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="20"
        android:inputType="textMultiLine"
        android:lineSpacingExtra="3dp"
        android:text="Get ready to melt fat and burn calories with Fit Body Boot Camp&apos;s 14 Day Fat Furnace Workout Program! This is a detailed 14 Day Workout plan based on Fit Body Boot Camp&apos;s Unstoppable Fitness Formula that has been implemented in close to 300 boot camps worldwide by hundreds of thousands of clients who made the decision to lose weight and get healthier."
        android:textColor="#FFF"
        android:textColorLink="#FFF"
        android:textSize="20sp" >
    </EditText>

在此之后还有一些编辑文本,但这是它的要点。如果你看到一些愚蠢的东西,请告诉我。

4

2 回答 2

11

您的背景位于 ScrollView 中的线性布局中。如果将滚动视图放在另一个线性布局中,该布局是 ScrollView 的父级并包含背景,并从作为 Scroll View 的子级的线性布局中删除背景,问题将得到解决。

它看起来像这样:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:background="@drawable/app_background" >
<ScrollView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:fillViewport="true" >

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

<EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="20"
    android:inputType="textMultiLine"
    android:lineSpacingExtra="3dp"
    android:text="THE LONG TEXT YOU'VE TYPED"
    android:textColor="#FFF"
    android:textColorLink="#FFF"
    android:textSize="20sp" >
</EditText>
</LinearLayout>
</ScrollView>
</LinearLayout>
于 2013-07-05T13:53:58.457 回答
1

我认为滚动视图应该填充父视图,子视图包装内容,因为 layout_height 是视图在屏幕上实际具有的大小,滚动发生在视图内部

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

正如dbalaouras

所指出的,编辑最好使用“match_parent”而不是“fill_parent”,因为后者已被弃用。结果是一样的,只是因为“填充”混淆了名称已经改变,如果您设置它不会填充剩余空间而只是根据其父设置维度

于 2013-04-02T22:08:46.133 回答