您的位置:首页 > 其它

安卓学习-界面-布局-GridLayout

2014-08-22 17:11 399 查看
GridLayout网络布局,类似html里的table,可以设置行数、列数、跨行单元格

GridLayout XML属性

属性方法说明
android:alignmentModesetAlignmentMode

GridLayout.ALIGN_BOUNDS

GridLayout.ALIGN_MARGINS

没效果

设置该布局的对其方式

alignBounds或alignMargins

android:columnCountsetColumnCount列数量
android:columnOrderPreservedsetColumnOrderPreserved没效果

是否保留列序列号

android:rowCountsetRowCount行数量
android:rowOrderPreservedsetRowOrderPreserved没效果

是否保留行序列号

android:useDefaultMarginssetUseDefaultMargins没效果

是否使用默认的页边距

GridLayout 的 LayoutParams

属性方法说明
android:layout_column在第几列
android:layout_columnSpan横跨几列
android:layout_row在第几行
android:layout_rowSpan横跨几行
android:layout_gravity对其方式
计算机例子

package com.example.dddd;

import android.app.Activity;
import android.graphics.Point;
import android.os.Bundle;
import android.view.Gravity;
import android.widget.Button;
import android.widget.GridLayout;

public class MainActivity extends Activity {

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

GridLayout gl=(GridLayout)findViewById(R.id.root);
String[] aa=new String[]{
"1","2","3","+",
"4","5","6","-",
"7","8","9","*",
".","0","=","/"};

Point size = new Point();

getWindowManager().getDefaultDisplay().getSize(size);

for(int i=0;i<aa.length;i++){
GridLayout.Spec column=GridLayout.spec(i%4);
GridLayout.Spec row=GridLayout.spec(i/4+2);
GridLayout.LayoutParams params=new GridLayout.LayoutParams(row, column);
//params.setGravity(Gravity.FILL);

Button btn=new Button(this);
btn.setText(aa[i]);
btn.setWidth((int) (size.x * 0.25));
btn.setHeight((int) (size.x * 0.25));
gl.addView(btn,params);

}

}
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: