GridView行有时重叠

时间:2018-06-22 15:13:10

标签: android gridview

我有一个GridView,它用于显示一个句子(例如:“再来一次”可以在这里成为一个句子。)

我的问题是第二行有时与第一行重叠。我不懂为什么。这里有一些照片显示了我的问题。

enter image description here

<GridView
        android:id="@+id/sol_1"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.25"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:horizontalSpacing="3dp"
        android:numColumns="8"
        android:verticalSpacing="35dp" />

这是我的代码的一部分:

GridView solutionGrid = (GridView) findViewById(R.id.sol_1);
final AlphabetCharAdapter solutionCharAdapter = new AlphabetCharAdapter(getApplicationContext(), solutionChars);
solutionGrid.setAdapter(solutionCharAdapter);

这是我的适配器类:

public class AlphabetCharAdapter extends BaseAdapter {

private AlphabetChar[] alphabetCharList;
private LayoutInflater inflater;

public AlphabetCharAdapter(Context applicationContext, AlphabetChar[] alphabetCharList) {
    this.alphabetCharList = alphabetCharList;
    inflater = (LayoutInflater.from(applicationContext));
}

@Override
public int getCount() {
    return alphabetCharList.length;
}

@Override
public Object getItem(int i) {
    return null;
}

@Override
public long getItemId(int i) {
    return 0;
}

@Override
public View getView(int i, View view, ViewGroup parent) {
    if (view == null) {
        view = inflater.inflate(R.layout.gridview_charachters, parent, false); // inflate the layout
    }
    ImageView iv = (ImageView) view.findViewById(R.id.simple_character); // get the reference of ImageView
    if (alphabetCharList[i].getCharacter() == ' ') {
        iv.setVisibility(View.GONE);
    } else {
        iv.setVisibility(View.VISIBLE);
        iv.setImageResource(charToImageConverter.getID(alphabetCharList[i].getCharacter(), view)); // set logo images
    }
    return view;
}

我测试了“ android:verticalSpacing”,并在我的xml文件中增加了该值。它会变得更好,但是问题是,无论我增加verticalSpacing来固定上部图像重叠,下部图像verticalSpace都会变大。这个问题有什么解决办法吗?我不知道为什么上面的图像会发生这种重叠!

谢谢!

0 个答案:

没有答案