Mainactivity. Java
Package COM. kale. gridlayout; import android. app. activity; import android. OS. bundle; import android. support. v7.widget. gridlayout; import android. view. gravity; import android. widget. button; public class mainactivity extends activity {string [] chars = new string [] {"7", "8", "9", "success", "4 ", "5", "6", "X", "1", "2", "3 ","-",". "," 0 "," = "," + "}; @ override protected void oncreate (bundle savedinstancestate) {super. oncreate (savedinstancestate); setcontentview (R. layout. activity_main); gridlayout glayout = (gridlayout) findviewbyid (R. id. root_gridlayout_id); For (INT I = 0; I <chars. length; I ++) {button bt = new button (this); BT. settext (chars [I]); BT. settextsize (40); // specify the row gridlayout occupied by the component. spec rowspec = gridlayout. SPEC (I/4 + 2); // specify the gridlayout column occupied by the component. spec columnspec = gridlayout. SPEC (I % 4); // create the object gridlayout Based on the set rows and columns. layoutparams Params = new gridlayout. layoutparams (rowspec, columnspec); // specify that the component occupies the parent control Params. setgravity (gravity. fill); glayout. addview (BT, Params );}}}
Layout File
<Relativelayout xmlns: Android = "http://schemas.android.com/apk/res/android" xmlns: Tools = "http://schemas.android.com/tools" Android: layout_width = "match_parent" Android: layout_height = "match_parent" tools: context = "$ {relativepackage }. $ {activityclass} "xmlns: APP =" http://schemas.android.com/apk/res/com.kale.gridlayout "> <! -- Six rows and four columns --> <android. support. v7.widget. gridlayout Android: Id = "@ + ID/root_gridlayout_id" Android: layout_width = "match_parent" Android: layout_height = "match_parent" app: rowcount = "6" app: columncount = "4"> <textview Android: layout_width = "match_parent" Android: layout_height = "100dp" app: layout_columnspan = "4" Android: text = "large text" Android: textappearance = "? Android: ATTR/textappearancelarge "/> <button Android: layout_width =" match_parent "Android: layout_height =" wrap_content "app: layout_gravity =" center_horizontal | top "app: layout_columnspan = "4" Android: text = "button"/> </android. support. v7.widget. gridlayout> </relativelayout>