我有一个GridView,它用于显示一个句子(例如:“再来一次”可以在这里成为一个句子。)
我的问题是第二行有时与第一行重叠。我不懂为什么。这里有一些照片显示了我的问题。
<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都会变大。这个问题有什么解决办法吗?我不知道为什么上面的图像会发生这种重叠!
谢谢!