android - GridView 行有时会重叠
问题描述
我有一个 GridView 用来显示一个句子(例如:“all over again”在这里可以是一个句子。)
我的问题是有时第二行与第一行重叠。我不懂为什么。这里有一些图片显示我的问题。
<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 都会变大。这个问题有什么解决办法吗?我不知道为什么上图中会发生这种重叠!
谢谢!
解决方案
推荐阅读
- javascript - 在异步函数中单击时呈现用户姓名和姓氏的问题
- python - 获得 OneClassSVM 分类结果的确定性
- c++ - asio async_receive 如何获取发件人 IP 地址
- postgresql - Postgres 连接失败
- ios - 如何将参数传递给 Metal CIWarpKernel?
- angular - 可以停用 | observable 保持其初始值
- r - data.table 循环遍历列名
- go - golang 错误消息因版本而异?
- docker - Kubernetes Pod 中的多容器 ASP.NET Core 应用程序提供已在使用中的错误地址
- c++ - 使用 Malloc 为 STL 列表分配内存?