0

我正在使用嵌套在 ScrollView 中的 TextView。滚动工作正常,但 ScrollView 似乎在 TextView 的顶部添加了一个额外的填充,如下所示:

<ScrollViewTop>
<Padding>
<TextViewTop>
<TextViewContent>
<TextViewBottom>
<ScrollViewBottom>

在此处输入图像描述

请注意,这只发生在 TextView 的顶部,并且空间是静态的,滚动时不会移动。这是我在 DialogFragment 中使用的布局:

<?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"
    android:fillViewport="true" 
    android:fadingEdge="none"
    android:orientation="vertical" >

        <TextView
        android:id="@+id/textViewHelp"
        android:adjustViewBounds="true"
        android:scrollbars = "vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
</ScrollView>

这是包含布局的片段:

public class HelpDialogFragment extends DialogFragment {

    public interface HelpDialogFragmentListener {
        void onFinishHelpDialogFragment(String inputText);
    }

    //empty constructor for fragment (android requirement)
    public HelpDialogFragment() {

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.help_fragment, container);
        TextView tv = (TextView) view.findViewById(R.id.textViewHelp);
        tv.setText(Html.fromHtml(Utils.loadHtmlFromResources(getActivity(), R.raw.help)));
        return view;
    }
}

如何强制 TextView 占据整个 ScrollView 区域?

4

2 回答 2

1

你的 ScrollView 只需要这个:

<?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="fill_parent" >

    <TextView
        android:id="@+id/textViewHelp"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
</ScrollView>

我在我的 xml 中输入了您的代码。没有填充物。

于 2013-08-21T15:43:07.750 回答
1

问题在这里得到解决:

对话框片段顶部的布局边距/填充

问题是可以通过设置删除的窗口标题:

getWindow().requestFeature(Window.FEATURE_NO_TITLE);
于 2013-08-27T12:44:04.450 回答