您好我有自定义ListView适配器。 我尝试设置背景图像,但我无法设置每个项目的高度。 在每个项目中,我有以下xml布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/listMenuItem"
android:layout_width="fill_parent"
android:layout_height="80dp"
android:background="@drawable/nasi_goreng">
<!-- Thumbnail Image -->
<com.android.volley.toolbox.NetworkImageView
android:id="@+id/thumbnail"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_alignParentLeft="true"
android:layout_marginRight="8dp" />
<!-- Menu Title -->
<TextView
android:id="@+id/menuTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/thumbnail"
android:layout_toRightOf="@+id/thumbnail"
android:textSize="@dimen/menuTitle"
android:textStyle="bold" />
<!-- Post Date -->
<TextView
android:id="@+id/postDate"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/menuTitle"
android:layout_marginTop="1dip"
android:layout_toRightOf="@+id/thumbnail"
android:textSize="@dimen/postDate" />
</RelativeLayout>
但结果是这样的:
更新 这是我的ListView xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="@color/list_divider"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_row_selector">
</ListView>
</RelativeLayout>
列表选择器xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/list_row_bg" android:state_pressed="false" android:state_selected="false"></item>
<item android:drawable="@drawable/list_row_bg_hover" android:state_pressed="true"></item>
<item android:drawable="@drawable/list_row_bg_hover" android:state_pressed="false" android:state_selected="false" ></item>
</selector>
如何修复身高?
谢谢
答案 0 :(得分:1)
根据您的需要设计背景图片。确定列表项的大小(宽度和高度)并设计该大小的图像,然后将其用作背景图像。如果你想在标签中使用这个应用程序,然后设计多种尺寸的图像(根据android图像缩放)
阅读此链接(http://developer.android.com/guide/practices/screens_support.html)了解更多详情。
以下是图片资源的必备指南。
注意:对于其他屏幕密度,android更喜欢hdpi,xhdpi,xxhdpi,xxxhdpi。
因此,我们可以将每个图标和图像的缩放比例视为2:3:4:6:8。
答案 1 :(得分:0)
尝试设置 RelativeLayout android:layout_height =“wrap_content”而不是 android:layout_height =“80dp”如果它不适合你
请发布您的例外结果
问题可能来自您的列表选择器,您可以发布列表选择器
答案 2 :(得分:0)
在普通视图上设置背景图像的效果不是很好。当使用固定高度绘制此图像时,此relativelayout存在冲突。如果要以更好的性能显示此图像,则应将ImageView添加到此布局。
答案 3 :(得分:0)
android:layout_width&amp;在这种情况下,应该在dp&#39; s中指定android:layout_height,否则它将占用背景图像所需的空间......
答案 4 :(得分:0)
这是androidhive的一个例子,它按预期工作:
<?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="20dp"
android:background="@color/feed_bg"
android:descendantFocusability="blocksDescendants"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="@dimen/feed_item_margin"
android:layout_marginRight="@dimen/feed_item_margin"
android:layout_marginTop="@dimen/feed_item_margin"
android:background="@drawable/bg_parent_rounded_corner"
android:orientation="vertical"
android:paddingBottom="@dimen/feed_item_padding_top_bottom"
android:paddingTop="@dimen/feed_item_padding_top_bottom" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingLeft="@dimen/feed_item_padding_left_right"
android:paddingRight="@dimen/feed_item_padding_left_right" >
<com.android.volley.toolbox.NetworkImageView
android:id="@+id/profilePic"
android:layout_width="@dimen/feed_item_profile_pic"
android:layout_height="@dimen/feed_item_profile_pic"
android:scaleType="fitCenter" >
</com.android.volley.toolbox.NetworkImageView>
<LinearLayout
android:layout_width="160dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="@dimen/feed_item_profile_info_padd" >
<TextView
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="@dimen/feed_item_profile_name"
android:textStyle="bold" />
<TextView
android:id="@+id/timestamp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/timestamp"
android:textSize="@dimen/feed_item_timestamp" />
</LinearLayout>
<Button
android:id="@+id/button1"
android:layout_width="50dp"
android:layout_height="50dp"
android:focusable="false"
android:background="@drawable/sharebutton" />
</LinearLayout>
<TextView
android:id="@+id/txtStatusMsg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="5dp"
android:paddingLeft="@dimen/feed_item_status_pad_left_right"
android:paddingRight="@dimen/feed_item_status_pad_left_right"
android:paddingTop="@dimen/feed_item_status_pad_top" />
<TextView
android:id="@+id/txtUrl"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:linksClickable="true"
android:paddingBottom="10dp"
android:paddingLeft="@dimen/feed_item_status_pad_left_right"
android:paddingRight="@dimen/feed_item_status_pad_left_right"
android:textColorLink="@color/link" />
<info.androidhive.listviewfeed.FeedImageView
android:id="@+id/feedImage1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:scaleType="fitXY"
android:visibility="visible" />
</LinearLayout>
</LinearLayout>
请参阅profilepic部分。它的大小,即高度和宽度都是固定的,它可以工作......
那么如果使用fill_parent和wrap_content参数将图像视图与不同的布局隔离,而将imageview参数固定为dp的