【发布时间】:2014-08-30 08:16:29
【问题描述】:
我目前正在尝试为我的 Android 应用程序创建一个类似于 GUI 的 Windows 8 开始菜单,显示可以触摸的不同块。为此,我使用 GridLayout 并继续在 xml 文件的 for 循环中添加子元素。到目前为止,一切正常。我的问题是,我实现了不同尺寸的瓷砖,这样就存在正常(二次)瓷砖和水平拉伸尺寸两倍的瓷砖。这些较大的显示正确,但由于缺少 colSpan,较大的瓷砖上方和下方有一个白色间隙。
II II II II II II II
II II II XXXXX II II II
II II II II II
很抱歉,我还不能添加图片,但是在较大的图块 (XXXX) 的上方和下方有空间可以用另一个图块填充,以使整个东西看起来更好:
II II II II II II II II
II II II XXXXX II II II
II II II II II
这是我添加瓷砖时的代码:
// GridLayout design
GridLayout gl = (GridLayout) findViewById(R.id.main_grid_layout);
// Kachel design
LinearLayout kachel = new LinearLayout(this);
kachel.setBackgroundResource(getBackgroundOfCategory(kategorieid));
kachel.setOrientation(LinearLayout.VERTICAL);
// Small and bigger kacheln
LinearLayout.LayoutParams kachelLP = new LinearLayout.LayoutParams(320,320);
if(size == 1) {
kachelLP = new LinearLayout.LayoutParams(640,320);
}
kachelLP.setMargins(10,10,10,10);
kachel.setLayoutParams(kachelLP);
kachel.setClickable(true);
// Kachel actions
kachel.setOnClickListener(new KachelOnClickListener(kachelid, getResources(), getBaseContext()));
...
非常感谢任何帮助!
【问题讨论】:
标签: android android-linearlayout android-gridlayout