我试图创建一个简单的列表视图,每行都有一些填充。
我以非常简单的方式完成了它,但我不确定这是否是正确的™ 方式。
这就是我得到的(代码如下)。正如您在点击一行时所看到的那样,它完全突出显示,我希望(如果可能)仅突出显示其中的视图(具有灰色背景的视图,即 TextView)
这是活动布局的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:divider="@null"
android:dividerHeight="0dp" />
<TextView
android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_events" />
</LinearLayout>
这是列表项布局的代码:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:padding="10dp">
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="30dp"
android:background="#ccc"
android:text="placeholder" />
</FrameLayout>
感谢您的回复!
PS。我没有上传Activity,它是一个简单的ListActivity。
更新
已解决(感谢 Jorge Aguilar)。新代码是这样的:
项目清单:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:padding="10dp">
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="30dp"
android:background="@drawable/event_focused"
android:text="placeholder" />
</FrameLayout>
以事件为中心的文件(位于可绘制目录中):
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@android:color/black" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@android:color/darker_gray" /> <!-- focused -->
<item android:state_hovered="true"
android:drawable="@android:color/darker_gray" /> <!-- hovered -->
<item android:drawable="@android:color/darker_gray" /> <!-- default -->
</selector>
我还添加了这个:
android:listSelector="@android:color/transparent"
到我的 ListView :)