关于动态创建gridlayout

fruitlin 2015-07-01 09:41:42
for (int i = 0; i < pages; i++)
{
GridLayout gl = new GridLayout(this);


for (int m = 1; m < 7; m++) // m 表示列 n表示行
{
for (int n = 1; n < 7; n++)
{
View viewButton = View.inflate(this, R.layout.button_base, null);
RelativeLayout relativeLayout = (RelativeLayout) viewButton.findViewById(R.id
.relativeButton);

relativeLayout.setTag(i * 36 + m * 6 + n);


GridLayout.Spec rowSpec = GridLayout.spec(m); // 行
GridLayout.Spec columnSpec = GridLayout.spec(n); //列
GridLayout.LayoutParams layoutParams = new GridLayout.LayoutParams(rowSpec,
columnSpec);
layoutParams.setGravity(Gravity.END);
gl.addView(relativeLayout, layoutParams);


}
}
views.add(gl);

}
我想法是这样的,想动态创建很多gridlayout ,用viewpages来实现滑动,滑动已经实现了 。 现在这个gridlayout 里面只有一个我的自定义控件,要实现这个6*6 的 要怎么做呢。
...全文
411 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fruitlin 2015-07-02
  • 打赏
  • 举报
回复
实在是拿着这个gridlayout没办法,我换了个相对布局,控件位置依据循环来定,也实现了6*6的排布
fruitlin 2015-07-01
  • 打赏
  • 举报
回复
在线等,求大神来指导,你自己重新写代码实现也可以, 要求是动态创建gridlayout 然后使用自定义控件填充成6*6的页面。
fruitlin 2015-07-01
  • 打赏
  • 举报
回复
目前 就在中间一个大的 自定义控件 这个效果 跟我预期的 不一样
Hare_ 2015-07-01
  • 打赏
  • 举报
回复
你目前的代码不行吗?
StoneHui_ 2015-07-01
  • 打赏
  • 举报
回复
引用 6 楼 u014547533 的回复:
楼上的代码亲测可以使用,你不是填充满屏的..... 控件也是系统自带的,如果换成自定义的貌似会出问题...
屏幕宽度 / 列数得到每列的宽度,屏幕高度 / 行数得到每行的高度,然后在for循环中设置给每个子项的根布局。 楼主觉得换成自定义控件会出什么问题?
fruitlin 2015-07-01
  • 打赏
  • 举报
回复
楼上的代码亲测可以使用,你不是填充满屏的..... 控件也是系统自带的,如果换成自定义的貌似会出问题...
StoneHui_ 2015-07-01
  • 打赏
  • 举报
回复

int column = 6;
int row = 6;

GridLayout layout = new GridLayout(this);
layout.setColumnCount(column);

for (int m = 1; m <= column; m++) {
	for (int n = 1; n <= row; n++) {
		TextView view = new TextView(this);
		view.setText(String.valueOf((m - 1) * column + n));
		view.setPadding(20, 20, 20, 20);
				
		layout.addView(view);
	}
}
assky124 2015-07-01
  • 打赏
  • 举报
回复
GridView + Adapter 好像更简单

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧