将图像加载到TextView的背景中

时间:2013-06-03 08:46:30

标签: android textview universal-image-loader

我有以下TextView布局:

<TextView
    android:layout_width="10dp"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal"
    android:drawableTop="@drawable/ic_launcher" >

我在代码中夸大了此布局,并希望使用Android-Universal-Image-Loader将图像加载到drawableTop中。但是,据我所知,没有办法从TextView获取backgroundTop的ImageView,因此我无法使用AUIL。有没有办法让ImageView为背景,如果没有,我应该如何修改布局,使其具有ImageView但看起来与原始布局相同?

3 个答案:

答案 0 :(得分:8)

您可以使用侦听器(ImageLoadingListener)。将以下代码放在onLoadingComplete(...)

void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
    Drawable topImage = new BitmapDrawable(loadedImage);
    textView.setCompoundDrawablesWithIntrinsicBounds(null, topImage, null null);
}

答案 1 :(得分:0)

                TextView tv = (TextView) findViewById(R.id.TV);
                Drawable top = getResources().getDrawable(R.drawable.icon) ;
                tv.setCompoundDrawablesWithIntrinsicBounds(null, top, null, null) ;
 //             tv.setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom)

答案 2 :(得分:0)

RelativeLayoutImageViewTextView一起使用,然后操纵ImageView

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

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_alignBottom="@+id/textView1"
        android:layout_alignLeft="@+id/textView1"
        android:layout_alignRight="@+id/textView1"
        android:layout_alignTop="@+id/textView1"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />
</RelativeLayout>