【发布时间】:2011-11-24 06:45:58
【问题描述】:
我需要在SrollView 内有一个LinearLayout,并且LinearLayout 必须与ScrollView 有一个边距。起初,我能想到的解决该问题的唯一方法是在另一个 LinearLayout 中设置一个 LinearLayout,并在最后一个布局上设置边距。如果设置在外部LinearLayout.
例子:
<?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"
android:orientation="vertical"
android:fillViewport="true"
android:background="@color/layout_color_green">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/layout_color_yellow">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:orientation="vertical"
android:background="@color/layout_color_blue">
</LinearLayout>
</LinearLayout>
</ScrollView>
我的问题是:我为什么需要这样做?
如果我只有一个LinearLayout,就没有边距了...
例子:
<?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"
android:orientation="vertical"
android:fillViewport="true"
android:background="@color/layout_color_green">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:orientation="vertical"
android:background="@color/layout_color_blue">
</LinearLayout>
</ScrollView>
然后,搜索一些类似的问题,我发现了一些布局,这些布局让我想到在ScrollView 中使用填充而不是在LinearLayout 中使用边距。这也解决了我的问题,我不需要另一个 LinearLayout。这是一个更优雅的解决方案。
不过,我想了解为什么 LinearLayout 内的简单边距在 ScrollView 内不起作用。因为如果它不在ScrollView 内,它确实可以正常工作。
有人知道为什么吗?
【问题讨论】:
标签: android user-interface android-layout padding margin