Android表格布局编程

Android表格布局编程,android,android-tablelayout,Android,Android Tablelayout,我学习了如何使用XML文件创建UI。但请帮助我了解如何在不使用XML文件的情况下以编程方式创建UI,特别是对于线性布局以外的应用程序。下面给出了代码示例 }使用以下代码创建TableLayout TableLayout tbl=new TableLayout(context); 使用以下命令创建表行 TableRow tr=new TableRow(context); 将视图添加到表行中 tr.addView(view); 此处的视图可以是TextView或EditText或ect 将表行

我学习了如何使用XML文件创建UI。但请帮助我了解如何在不使用XML文件的情况下以编程方式创建UI,特别是对于线性布局以外的应用程序。

下面给出了代码示例


}使用以下代码创建TableLayout

TableLayout tbl=new TableLayout(context);
使用以下命令创建表行

TableRow tr=new TableRow(context);
将视图添加到表行中

tr.addView(view);
此处的视图可以是TextView或EditText或ect

将表行添加到TableLayout中

tbl.addView(tr);

这样,您就可以在表格布局中添加更多的表格行。

*|使用Java代码的3 x 3按钮的表格布局:

设置tblRowCwtVal中的行数
设置TBLCWTVAL中的列数
将字符串设置为可在tblAryVar中绘制

在本例中,我们为每个表视图使用了按钮。您可以使用TextView | ImageView并进行相应修改

int-tblRowCwtVal=3;
int-tblcwtval=3;
int[]tblAryVar=
{
{R.drawable.ic_name,R.drawable.ic_name,R.drawable.ic_name},
{R.drawable.ic_name,R.drawable.ic_name,R.drawable.ic_name},
{R.drawable.ic_name,R.drawable.ic_name,R.drawable.ic_name}
};
@凌驾
创建时受保护的void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.srn_nam_uic);
NamrelyVar=(RelativeLayout)findViewById(R.id.NamSrnLyoUid);
TableLayout namTblLyoVar=新的TableLayout(本);
TableLayout.LayoutParams tblLyoRulVar=新的TableLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_内容,ViewGroup.LayoutParams.WRAP_内容);
TableRow.LayoutParams btnLyoRulVar=新的TableRow.LayoutParams(50,50);
对于(int-tblRowIdxVar=0;tblRowIdxVar
它正在正确运行,但未在活动屏幕上显示任何输出……以下是我的codeLayoutParams params=new LayoutParams(LayoutParams.FILL\u PARENT,LayoutParams.WRAP\u CONTENT)TableLayout layout=new TableLayout(this);TableLayout.LayoutParams LayoutParams=新建TableLayout.LayoutParams(LayoutParams.FILL\u父级,LayoutParams.WRAP\u内容);TableRow TableRow=新的TableRow(本);TextView tv=新的TextView(此);tv.setText(“桌面布局演示”);tv.setLayoutParams(参数);EditText et=新的EditText(本);et.setHint(“输入文本”);et.setLayoutParams(参数);tablerow.addView(电视);tablerow.addView(et);layout.addView(tablerow);this.addContentView(布局、布局参数);什么是上下文,我对xamarin和android真的很陌生,我使用了布局设计器
tbl.addView(tr);
int tblRowCwtVal = 3;
int tblColCwtVal = 3;
int[][] tblAryVar =
     {
        {R.drawable.ic_name, R.drawable.ic_name, R.drawable.ic_name},
        {R.drawable.ic_name, R.drawable.ic_name, R.drawable.ic_name},
        {R.drawable.ic_name, R.drawable.ic_name, R.drawable.ic_name}
     };

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.srn_nam_uic);

    namRelLyoVar = (RelativeLayout) findViewById(R.id.NamSrnLyoUid);

    TableLayout namTblLyoVar = new TableLayout(this);
    TableLayout.LayoutParams tblLyoRulVar = new TableLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    TableRow.LayoutParams btnLyoRulVar = new TableRow.LayoutParams(50,50);

    for(int tblRowIdxVar = 0; tblRowIdxVar < tblRowCwtVal; tblRowIdxVar++)
    {
        TableRow tblRowVar = new TableRow(this);

        for(int tblColIdxVar = 0; tblColIdxVar < tblColCwtVal; tblColIdxVar++)
        {
            Button namIdxBtnVar = new Button(this);
            Drawable DrwablIdxVar = getResources().getDrawable(tblAryVar[tblRowIdxVar][tblColIdxVar]);
            DrwablIdxVar.setColorFilter(Color.rgb(0,128,0), PorterDuff.Mode.SRC_IN);
            namIdxBtnVar.setBackground(DrwablIdxVar);

            tblRowVar.addView(namIdxBtnVar, btnLyoRulVar);
        }
        namTblLyoVar.addView(tblRowVar, tblLyoRulVar);
    }

    namTblLyoVar.setLayoutParams(tblLyoRulVar);
    namRelLyoVar.addView(namTblLyoVar);
}