Mic*_*rne 143 android android-layout android-listview
这是关于Android中ListView中项目布局的一个非常好的问题.
我有一个活动,顶部有一个标题栏,ListView占据了屏幕的其余部分.我希望我的ListView在左侧,右侧和顶部显示10dp填充,但是当您向上滚动ListView时,我希望它覆盖顶部10dp填充,然后在褪色边缘消失.同样,当你滚动到底部时,最后一个列表项应该在最后一个列表项的底部和屏幕的实际底部之间显示为10dp(如果你想知道为什么,那是因为我想要一个漂亮的背景图像在ListView周围探索).
我已经尝试将填充添加到ListView本身,但是当您滚动列表时它会在填充的边缘消失.
我来自web开发背景,类比是在第一个列表项(和最后一个列表项下方)之上添加边距.
Gun*_*son 391
你写了:
我已经尝试将填充添加到ListView本身,但是当您滚动列表时它会在填充的边缘消失.
将ListView's clipToPadding属性设置为false.这将启用填充ListView 并滚动到布局的末尾(而不仅仅是填充的边缘).
一个例子:
<ListView
android:id="@+id/list_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="@android:color/transparent"
android:dividerHeight="10.0sp"
android:padding="16dip"
android:clipToPadding="false"/>
Run Code Online (Sandbox Code Playgroud)
android:clipToPadding是ViewGroup布局和视图容器的基类的XML属性.
相关的方法调用是:
public void setClipToPadding (boolean clipToPadding)
Run Code Online (Sandbox Code Playgroud)
Jak*_*son 19
View padding = new View(this);
padding.setHeight(20); // Can only specify in pixels unfortunately. No DIP :-(
ListView myListView = (ListView) findViewById(R.id.my_list_view);
myListView.addHeaderView(padding);
myListView.addFooterView(padding);
myListView.setAdapter(myAdapter);
Run Code Online (Sandbox Code Playgroud)
上面的ListView将有一个20像素的页眉和页脚填充.
gre*_*gkb 10
附件@ Jakobud的回答......
我的listView已经利用这些android:divider/android:dividerHeight属性在listView项之间创建了透明的空白.这允许我简单地添加android:headerDividersEnabled和android:footerDividersEnabled属性并设置页眉和页脚视图new View(Activity.this).
对于已经在listView中设置了分隔符的情况,可以进行简化.
| 归档时间: |
|
| 查看次数: |
45262 次 |
| 最近记录: |