<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#dad4c8"
android:gravity="center_horizontal">
<include
android:id="@+id/title_bar"
layout="@layout/title_bar" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/title_bar"
android:id="@+id/txt"
android:hint="Song title" />
<ListView
android:cacheColorHint="#00000000"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/txt"
android:id="@+id/list" />
</RelativeLayout>
答案 0 :(得分:17)
使用LinearLayout并将ListView的高度设置为0dip并赋予它layout_weight="1"
这将使其自动填充任何剩余空间,从而导致列表视图的内部项目滚动。目前列表视图非常高,正在被屏幕边界剪切。
这样的事情:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#dad4c8"
android:orientation="vertical"
android:gravity="center_horizontal">
<include
android:id="@+id/title_bar"
layout="@layout/title_bar" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/txt"
android:hint="Song title" />
<ListView
android:cacheColorHint="#00000000"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:id="@+id/list" />
</LinearLayout>
答案 1 :(得分:1)
为了社区的利益,我会粘贴对我不起作用的东西以及有效的东西。这是帮助解决问题的唯一帖子,其他人只是一个讲座。感谢@Kurru
我试图减少垃圾。需要关注的领域是android:layout_height
android:layout_weight
。
无效
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<View
android:layout_width="fill_parent"
android:layout_height="1dp"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content />
</LinearLayout>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbarSize="3dp"
android:scrollbarStyle="outsideOverlay"
android:scrollbars="vertical"
android:scrollingCache="true"
android:smoothScrollbar="true" />
</LinearLayout>
<强>曾为强>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<View
android:layout_width="fill_parent"
android:layout_height="1dp" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:scrollbarSize="3dp"
android:scrollbarStyle="outsideOverlay"
android:scrollbars="vertical"
android:scrollingCache="true"
android:smoothScrollbar="true" />
</LinearLayout>
答案 2 :(得分:0)
那些仍在寻找答案的人,请访问this link,您只需要通过在其XML声明中添加android:nestedScrollingEnabled =“ true”或显式调用setNestedScrollingEnabled(true)即可完成此子滚动视图。
答案 3 :(得分:-2)
您应该在ListView上添加值为android:scrollbars
的属性vertical
,以便在listView中添加滚动条:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#dad4c8"
android:gravity="center_horizontal">
<include
android:id="@+id/title_bar"
layout="@layout/title_bar" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/title_bar"
android:id="@+id/txt"
android:hint="Song title" />
<ListView
android:cacheColorHint="#00000000"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/txt"
android:id="@+id/list"
android:scrollbars="vertical"/>
</RelativeLayout>