我该怎么做这样的布局?标题不应滚动,应始终可见。
当我尝试将ScrollView
放入LinearLayout
时,问题是Android引发了错误。
标记:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/baseLayout">
<LinearLayout
style="@style/app_header" />
<ScrollView
style="@style/fillParent">
<!-- elements here -->
</ScrollView>
</LinearLayout>
样式:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="app_theme" parent="android:Theme">
</style>
<style name="fillParent">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">fill_parent</item>
</style>
<style name="fullWidth">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
</style>
<style name="wrapContent">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>
<style name="baseLayout" parent="fillParent">
<item name="android:orientation">vertical</item>
<item name="android:background">@drawable/app_bg</item>
</style>
<style name="app_header" parent="fullWidth">
<item name="android:background">@drawable/header_bg</item>
</style>
</resources>
答案 0 :(得分:2)
以下代码适用于我,您是否可以发布代码并让我们看看您可能做错了什么?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TITLE BAR"/>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
</ScrollView>
</LinearLayout>
<强>解决方案强>
问题是忍者在ScrollView
中有超过1个直接孩子。
答案 1 :(得分:1)
如果将“线性”布局放在“滚动”视图的旁边,则表示出现错误是不正常的。 请在您的代码中尝试以下代码段。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TITLE BAR"/>
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
.
.
</LinearLayout>
</ScrollView>
</LinearLayout>
我希望这会有所帮助。
答案 2 :(得分:1)
在你的标记中:
....
<ScrollView
style="@style/fillParent">
<!-- elements here -->
</ScrollView>
...
“这里的元素” - 如果不止一个,那么您将收到错误,因为ScrollView只能托管一个直接子项(例如布局)。