当我按下列表视图中的特定项目时,应通过在其上显示背景图像来突出显示该项目。问题是图像没有正确显示。我正在使用android:attr/activatedBackgroundIndicator
在背景上显示图片。
原始图片:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:id="@+id/relLayout"
android:background="?android:attr/activatedBackgroundIndicator"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dip" >
<!-- ListRow Left side Thumbnail image -->
<LinearLayout
android:id="@+id/thumbnail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginRight="5dip"
android:padding="3dip" >
<ImageView
android:id="@+id/list_image"
android:contentDescription="@string/app_name"
android:layout_width="60dip"
android:layout_height="60dip"
android:src="@drawable/ic_launcher" />
</LinearLayout>
<!-- Rightend Arrow -->
<ImageView
android:id="@+id/imageView1"
android:contentDescription="@string/app_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/abs__ic_go" />
<!-- City tvCity -->
<TextView
android:id="@+id/pid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="75dip"
android:layout_centerVertical="true"
android:paddingBottom ="10dip"
android:text="Main Groups"
android:textColor="#f5f5f5"
android:textSize="15dip"
android:textStyle="bold"
android:typeface="sans" />
<!-- Weather Information-->
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/pid"
android:layout_alignLeft="@+id/pid"
android:paddingTop="5dip"
android:layout_centerHorizontal="true"
android:text="Main"
android:textColor="#f5f5f5"
android:textSize="15dip" />
</RelativeLayout>
以下是负责放置背景的xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true" android:drawable="@drawable/listview_back" />
<item android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/listview_back" />
<item android:state_focused="false"
android:state_pressed="false"
android:state_selected="false"
android:state_checked="false"
android:state_enabled="true"
android:state_checkable="false"
android:drawable="@android:color/transparent"/>
</selector>
结果(一直在试验尺寸,但仍然是相同的输出):
答案 0 :(得分:0)
1- android:background 属性在显示图像时不使用缩放,因此图像将不适合父级大小。 2-在您的主xml文件(包含listView本身的文件)中,您可能会将listView设置为固定宽度,因此不会显示项目的整个区域可能是隐藏的一部分。
**我建议在符合项目的项目的 relativeLayout 中使用 ImageView ,并在此 ImageView 中设置图片 android:src 不在 android:background 中并使用 scaleType =“fitXY”,通过这种方式 ImageView 将负责调整图像的大小以适合已经适合您的相对布局的ImageView。