如何在透明背景的自定义列表视图中显示图像

时间:2015-04-23 10:36:47

标签: android listview

我想在自定义列表视图中显示具有透明背景的图像

这是我的xml代码

<ListView
    android:id="@+id/list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#00000000" >

</ListView>

这是我的列表项目代码

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableRow>
    <ImageView
        android:id="@+id/img"
        android:layout_width="50dp"
        android:background="#00000000"
        android:layout_height="50dp"/>

    <TextView
        android:id="@+id/txt"
        android:layout_width="wrap_content"
        android:layout_height="50dp" />

</TableRow>
</TableLayout>

这是我的.java代码

ListView list;
String[] web = {
        "  Profile",
        "  Help And Support",
        "  Account Settings",
        "  Location Settings",
        "  Notifications",
} ;
Integer[] imageId = {
        R.drawable.profile2,
        R.drawable.help,
        R.drawable.account,
        R.drawable.location,
        R.drawable.notification,

};
    CustomList adapter = new CustomList(settings.this, web, imageId);
    list=(ListView)findViewById(R.id.list);
    list.setAdapter(adapter);
    list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                                int position, long id) {
            Toast.makeText(settings.this, "You Clicked at " + web[+position], Toast.LENGTH_SHORT).show();

        }
    });

请帮助我。如何仅设置图像的透明背景颜色。

1 个答案:

答案 0 :(得分:0)

默认情况下,imageview的背景应该是透明的。这是imageview与imagebutton相比的差异。确保您在自定义适配器的getView()方法中使用setImageResource而不是setBackground。当然,如果您的图像可绘制本身具有背景,则必须使用任何照片编辑软件将其删除。我通常上传具有透明背景的png图像

imageView.setImageResource(imageId[position]);