当我执行ListActivity时,我的ListView正常工作:我可以通过使用TouchScreen或鼠标滚轮进行滚动来滚动。 但是当我在一个布局中加入一个ListView(带有按钮,textview,linearLayouts等等)时,我无法通过拖动滚动它,我可以用鼠标滚轮滚动。
如何启用listView的“触摸”滚动(列表活动之外)?
答案 0 :(得分:1)
尝试将android:isScrollContainer="true"
添加到ListView定义中。应该这样做。
另外几点建议:
ListView.setEmptyView()
dip
或pt
作为字体,而不是sp
。在3种不同的AVD上试用你的应用程序,一个带有QVGA皮肤,一个带有HVGA,一个带有WVGA,我想你会明白我的意思。我建议pt
除了Droid有一个明显的错误导致字体点被错误缩放的事实。试试蘸料。答案 1 :(得分:0)
<LinearLayout
android:id="@+id/results_panel"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/panel_background"
android:orientation="vertical"
android:layout_marginTop="10dip"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_marginBottom="10dip"
android:visibility="invisible">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/results"
android:textSize="18sp"
android:textStyle="bold"
android:shadowColor="#7299e1"
android:shadowRadius="2.0"
android:shadowDx="3"
android:shadowDy="2"
android:gravity="center"/>
<TextView
android:id="@+id/results_panel_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/not_found"
android:textSize="18sp"
android:gravity="center"/>
<ListView
android:id="@+id/results_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:cacheColorHint="#0000"
android:background="#0000"
android:layout_weight="0.5"/>
</LinearLayout>
第一个线性布局可见性按程序设置为可见(所以不要担心;))。
第一个TextView是一个出现在ListView上方的标题。
如果我没有项目,则第二个TextView可见性设置为可见。
ListView显示项目,如果我有其他项目,则设置为可见。
这些项是字符串数组中的字符串数组适配器显示。
答案 2 :(得分:0)
最终我发现了!对不起,这完全是我的错:我的布局非常复杂,我已经向您展示了包含listView的部分,但我忘记了我的整个屏幕都嵌入了一个滚动视图。因此,listView和ScrollView父级之间存在冲突。
再次打扰一下,谢谢你的回答和建议!