我有一个ListView,每个字母都有字母标题.我还有一个索引函数,将字母标题放在屏幕顶部.
我的问题是当我到达列表的末尾时,setSelection无法将最后几个标题置于顶部,因为它不会滚动到列表的末尾.
我的问题是:有没有办法根据屏幕尺寸在屏幕的末尾添加一个空格?我想滚动,直到列表中的最后一项位于listView的顶部.
Hem*_*ori 84
添加空间的最简单方法是在xml中添加填充并设置clipToPadding:"false"
.
RecyclerView
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:clipToPadding="false"/>
Run Code Online (Sandbox Code Playgroud)
ListView
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:clipToPadding="false"/>
Run Code Online (Sandbox Code Playgroud)
ScrollView
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:clipToPadding="false"/>
Run Code Online (Sandbox Code Playgroud)
这会将空白区域添加到顶部和底部,但在滚动视图时会隐藏空间.
请尝试以下方法:
View footer = new View(getActivity());
footer.setLayoutParams( new AbsListView.LayoutParams( LayoutParams.FILL_PARENT, 100 ));
mListView.addFooterView(footer, null, false);
Run Code Online (Sandbox Code Playgroud)
我假设您正在使用 的扩展BaseAdapter
来填充您的 ListView?
可能有一种内置的方法可以满足您的要求,但我不知道。如果您最终自己创建它,那么这种方法怎么样:
list.size() + EXTRA
getCount()
getItem()
如果它要求的项目不在您的列表中,则进行修改以返回正常的内容getView()
以将给定视图配置为简单的水平填充,其高度与其余视图相同position
您需要摆弄常量EXTRA
来看看什么值最好。
归档时间: |
|
查看次数: |
9951 次 |
最近记录: |