背景drawable与其父级布局

时间:2015-10-13 15:43:49

标签: android

我在列表项布局上应用背景颜色时遇到了麻烦。我正在做一个示例应用程序来学习android。我的问题是它显示了彩色背景,但它不是列表项布局的大小。它有点小。由于某些原因它不起作用,这里的每个人都建议设置一个背景绘制,设置如下:

view.setBackgroundResource(R.drawable.ic_green);

我在CursorAdapter.bindView(View view, Context context, Cursor cursor)内执行此操作。因为我当然正在处理清单。每个项目都有一个相应的颜色数据,我需要在每个列表项上反映出来。我需要以编程方式执行此操作。因为我必须允许我自己改变背景颜色。

看起来像这样:

enter image description here

我的可绘制资源如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <solid android:color="#FFFFCC" />

</shape>

这就是我的列表项布局的样子:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="end"
    android:layout_margin="5sp"
    android:background="@drawable/note_style"
    android:padding="5sp"
    android:paddingLeft="10sp"
    android:paddingRight="10sp" >

    <TextView
        android:id="@+id/textview_note_short"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:gravity="start"
        android:maxLength="18"
        android:maxLines="1"
        android:text="@string/text_sample_short_note"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/textview_note_remind_every"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/textview_note_short"
        android:layout_alignStart="@id/textview_note_short"
        android:layout_below="@id/textview_note_short"
        android:text="@string/text_sample_remind_every"
        android:textSize="12sp" />

    <TextView
        android:id="@+id/textview_note_date_created"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignTop="@id/textview_note_short"
        android:text="@string/text_sample_date"
        android:textSize="12sp" />

    <ImageView
        android:id="@+id/imageview_note_notification_alarm"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/textview_note_remind_every"
        android:layout_alignRight="@id/textview_note_date_created"
        android:layout_alignEnd="@id/textview_note_date_created"
        android:adjustViewBounds="true"
        android:contentDescription="@string/content_description_past_due"
        android:maxHeight="20dp"
        android:maxWidth="20dp"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_action_alarm" />

    <ImageView
        android:id="@+id/imageview_note_notification_due"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@id/imageview_note_notification_alarm"
        android:layout_toLeftOf="@id/imageview_note_notification_alarm"
        android:layout_toStartOf="@id/imageview_note_notification_alarm"
        android:adjustViewBounds="true"
        android:contentDescription="@string/content_description_past_due"
        android:maxHeight="20dp"
        android:maxWidth="20dp"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_action_due" />

</RelativeLayout>

它确实改变了背景颜色,但正如你在图片上看到的那样,绿色背景不会碰到布局的边缘,它应该与屏幕的宽度相匹配并高度包装其内容。

有什么想法吗?谢谢!

0 个答案:

没有答案
相关问题