如何创建这样的自定义小部件?

时间:2014-03-31 07:38:05

标签: java android android-widget android-button

我想创建一个自定义小部件。

看起来像这样:
enter image description here

那么,我应该延长Button,因为我想点击它吗?

如何在上面放一张图片? 我已经阅读了方法onDraw(),但我不知道如何设置image

(谢谢Andrew T.)

3 个答案:

答案 0 :(得分:2)

你可以把它变成一个复合对象:它是一个带有drawable的TextView。

TextView是可点击的,因此您可以触发点击处理程序。

这样的事情:

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="4dp"
    android:drawableLeft="@drawable/ic_launcher"
    android:drawablePadding="8dp"
    android:text="Title\nA little description for this object"
    android:textSize="16sp"
    android:onClick="click_handler"
/>

然后只需添加到您的代码中:

public void click_handler(View v)
{
    // Do something in your click event
}

答案 1 :(得分:0)

将所有内容放在LinearLayout或RelativeLayout(一个ImageView,两个TextViews)上。将click侦听器添加到该布局。稍后您可以使用ListViews中的布局。

答案 2 :(得分:0)

您可以使用此

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/imageView"
            ......
            android:layout_alignParentLeft="true" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            ......
            android:layout_toRightOf="@+id/imageView"
            android:layout_alignTop="@+id/imageView" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            ......
            android:layout_below="@+id/textView1"
            android:layout_alignLeft="@+id/textView1" />

    </RelativeLayout>

然后编写一个类来处理它