我正在努力实现这样的目标:
- |-------------------|<-------Phone screen
| ||-----------------||
| || ||
80% || ||
| || ||
| || |<--------Image View (fills screen, background)
- |||---------------|||
| ||| |||
20% ||| |<---------Scroll View (starts after 80% of parent view)
| ||-----------------||
- |-------------------|
ImageView有一个图像填充背景,scrollView在80%的高度后启动。有人可以帮我解决所有器件尺寸的问题吗?
答案 0 :(得分:3)
使用layout_weight
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="8" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2">
</ScrollView>
</LinearLayout>
</RelativeLayout>
答案 1 :(得分:1)
您需要一个LinearLayout,android:orientation="vertical"
。
然后为ImageView
ScrollView
和android:layout_weight="80"
添加ImageView
和android:layout_weight="20"
的两个视图(ScrollView
和android:layout_height="0dip"
)。
两者都必须<?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" >
<ImageView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="80"
android:src="#FF0000FF" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="20"
android:src="#FFFF0000" />
才能确定,只有重量才算重要。
XML代码看起来像这样(我使用了第二个ImageView而不是ScrollView来显示蓝色和红色的结果)
android:backround="<your drawable resoure>"
编辑:要用图像填充背景,您有两种方法:
LinearLayout
的简单集FrameLayout
。你唯一可以放松的是,可以在背景中居中并调整drawable的大小。 ImageView在这一点上有更多的可能性。因此,第二种方法是使用 <!-- This is your fixed view, e.g. with header information -->
<ImageView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="80"
android:src="@android:color/transparent" />
<!-- This would be your scroll view, e.g. for detail information -->
<ImageView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="20"
android:src="#FFFF0000" />
。它是轻量级的,基本上没有任何定位。只需将所有元素放在彼此之上。 XML看起来像这样:
{{1}}