android - 在android中更改单行gridview的背景

标签 android android-layout gridview android-gridview

我目前正在开发一个 android 应用程序,它需要显示一个书架,其中每行最多包含 3 张图片。我正在为此使用 gridview。但是我被困在一个点上,我无法在 gridview 中更改整行的背景。谁能告诉我该怎么做?

gridview使用的adapter

private class SampleGridAdapter extends BaseAdapter{

    private Context context;
    private int[] images = {"R.drawable.img1","R.drawable.img2","R.drawable.img3","R.drawable.img4","R.drawable.img5","R.drawable.img6","R.drawable.img7"};
    public SampleGridAdapter(Context context) {
        super();
        this.context = context;

    }
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return images.length;
    }
    @Override
    public Object getItem(int arg0) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public long getItemId(int arg0) {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public View getView(int arg0, View arg1, ViewGroup arg2) {
        // TODO Auto-generated method stub

        View v = null;
        ImageView coverImageView;

        LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            v = inflater.inflate(R.layout.bookgrid, null);
            coverImageView = (ImageView) v.findViewById(R.id.coverImageView);   
            coverImageView.setImageResource(images[position]);


            coverImageView.setScaleType(ImageView.ScaleType.FIT_XY);

        return v;
    }
}

bookgrid.xml

<?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="match_parent"
android:background="@drawable/shelfimage" >

<ImageView
    android:id="@+id/coverImageView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:paddingBottom="0dp"
    android:paddingLeft="25dp"
    android:paddingTop="6dp"
    android:src="@drawable/ic_launcher" />
 </RelativeLayout>

我在 gridview 声明中将列数设置为 3。这里我将 xml 文件中的背景设置为 android:background="@drawable/shelfimage"。但它是分别为每个项目设置背景......我想为每一行设置一个图像作为背景(有 3 个项目)......

最佳答案

可以看看this例如,它将对您有所帮助。

关于android - 在android中更改单行gridview的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15197302/

相关文章:

c# - GridView 'OrdersGridView' 触发了未处理的事件 RowDeleting

java - 如何从现有的 gridview 图像实现 coverflow 布局

java - 在 Java 中按值对数组元素进行分组(2 × 2、3 × 3 等)

android - R.id.寻呼机?这是在哪里定义的?

android - 如何在 Material Bottom App Bar 中自定义 View ?

android - 如何定义自定义应用程序主题来指定 Android 布局的默认背景?

gridview - 如何截断特定 Yii2 GridView 列中的文本并在悬停时显示它?

android - Robolectric 测试不调用 textWatcher.onTextChanged

android - 由输入调度超时引起的 ANR - 在尝试获取我的公共(public) IP 地址时

android - TextWatcher 使 Edittext 中的输入速度变慢(Android)