我需要添加具有复杂项目背景的ListView:顶部和底部的偶数/奇数和圆角不同。它看起来像这样:
我已经通过level-list实现了所有这些东西,但是还有一件事我想做。现在底部项目靠近屏幕底部。最好添加一些空间。
我不想向 ListView 添加下边距,我只需要最后一项的边距。
我认为这样做的方法是:
一种黑客行为——在ListView中添加带有空文本视图的页脚。但是页脚是相当不稳定的东西,它们通常在notifyDataSetChanged之后消失,并且没有办法恢复它们
我要求设计师添加透明像素到底部背景资源。不幸的是,在这种情况下,垂直居中被完全破坏。例如,有9个补丁是这样的:
布局如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<!-- View with background with transparent pixels on bottom -->
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"
android:id="@+id/item"
android:background="@drawable/some_bgr"
android:padding="10dp"
>
<TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1"
android:text="Title"
android:layout_gravity="center"
android:textSize="18sp"
/>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="Detail"
android:layout_gravity="center"
android:textSize="18sp"
/>
</LinearLayout>
<!-- Just for marking place took by view -->
<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"
android:layout_below="@id/item"
android:background="#88ff55"
/>
</RelativeLayout>
结果:
如您所见,居中不起作用。不幸地(顺便说一句,如果指定这个9patch作为TextView的背景,居中效果很好。如果你知道任何解释这一点的文章,请让我知道。)
这应该可以工作,但是由于未知的原因,我仍然无法让它工作。我不喜欢这种方式,因为我不喜欢修改代码中的维度。
已经有了一个想象的方法——用特定的位图和边距构造一些可绘制的XML。根据drawables的概念,这应该是可能的,但我找不到实现。可能有人知道?
还有其他想法吗?
如果需要,您也可以从代码中执行,例如,在这里我会对不同的情况做出反应:
if(s.toString().length()>0)
{
contacts_lv.setClipToPadding(false);
contacts_lv.setPadding(0,0,0,270*screenDensity);
}
else
{
contacts_lv.setClipToPadding(true);
contacts_lv.setPadding(0,0,0,0);
}
在列表中添加一个空页脚,如下所示:
TextView empty = new TextView(this);
empty.setHeight(150);
listview.addFooterView(empty);
在您的ListView
中,设置paddingBottom
和clipToPadd="false"
。
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="8dp"
android:clipToPadding="false"
android:scrollbarStyle="outsideOverlay"/>
>
这也适用于 RecyclerView
。
如果您希望滚动条不会溢出到填充区域,请仅使用android:scrollbarStyle=“outsideOverlay”。
问题内容: 下面有一个for循环代码。我通过调用一个自定义显示函数发现aBook arrayList对象仅添加了最后一个类对象三次。为什么会这样呢? 这是我的LiFiAddressBook类 } 问题答案: 由于使用static关键字,每次 调用构造函数时,旧值都会被新值覆盖,并且在打印列表中的元素时,LiFiAddressBook类的对象变量将指向相同的对象。因此打印相似的对象。 需要明确的是,
我正在尝试使用在中的最后一个元素行下面添加间距。为此,我使用了自定义的并在其最后一个元素时进行底部填充,如下所示: 这将对正确工作。只是在的情况下,它是有问题的。 如果底部有并且需要最后一行中的项目滚动到上方,以便它们可见,那么它非常有用。
我需要填充一个json文件,现在我有如下内容: 我需要添加另一个“元素”。我的第一步是使用,现在我需要添加新元素。我想我必须使用添加另一个元素,我尝试了以下方法: 但是当我尝试做时,我得到了错误"对象没有方法推送",我认为我做了一些非常错误的事情,因为我没有告诉任何地方的"元素"。 我该怎么做? 编辑:对不起,我脑子里有很多困惑。 我认为从,但我首先得到了我在JSON中输入的内容。 用数组代替对象
我有个文件名测试。json 我读了这个文件,我想得到这个 我要阅读和构建的代码 从JSON的那句话中,我得到了 com.google.gson.stream.MalformedJsonException:使用JsonReader.setLenient(true)接受格式错误的JSON 我的绳子坏了? 我试过了 我知道这不是JSON数组。
问题内容: 我想将通过JSOn格式的URL接收的数据动态附加到我的列表视图中。但是我不知道它是如何工作的。 移动网站以以下格式检索对象: 在.html中,我有一个listview和一个函数,在其中尝试附加接收到的数据。我只展示身体。 也许这很容易,但是我是Web编程的新手,我不知道该如何附加检索到的数据。 有人可以帮我吗? 问题答案: 这是上述解决方案的jsfiddle(还有一个使用 代替的示例
有人能帮忙吗?我正在尝试获取代表动态生成的智能卡(例如633597015500042010)的按钮的最后一个xpath元素,然后单击它。我尝试了以下方法,但仍然找不到解决方法。我打算捕获的按钮的名称是“Select”。 driver.findElement(by.xpath(“//div[@class='select-item']/div)[last()]”).click();