我有一个简单的ListView显示一些内容。有真实的内容视图@+id/conetnt
和视图@+id/service_disabled
只是为了显示一些花哨的背景,以防项目被禁用。
应在内容之上绘制禁用视图的背景。这就是没有为内容视图使用背景状态选择器的原因。
内容视图的高度因项目而异。我基本上希望禁用的视图高度与内容视图的高度相同。
但无论我尝试什么,在API< 11上,禁用的视图高度match_parent
都会被忽略。
禁用的视图只有很小的高度。
在API> = 11,一切都很好。
我的列表项布局:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="@dimen/service_item_padding">
<!-- views... -->
</LinearLayout>
<View android:id="@+id/service_disabled"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_disabled_service_repeat"/>
</FrameLayout>
如何在API&lt; 11上解决此问题?
Btw:minSdk = 8,targetSdk = 18
在运行两个android-17的N4和tf101上工作正常。 它在运行android-10的HTC G2上坏了。
答案 0 :(得分:0)
想一想:ListView
项目的父级是什么,它的高度是多少?使列表视图项等于其父高将使整个列表视图无效。
您可能希望列表行布局的高度为wrap_content
。
答案 1 :(得分:-1)
您是否专门为旧版API编译?您测试了哪些API版本?
它可以像不正确的命名一样简单。 MATCH_PARENT是API 8及更高版本上使用的名称,但如果您正在使用API 7或更早版本(Android 2.1 Eclair或更早版本),则应使用常量FILL_PARENT。