繁体   English   中英

Android 工作台方向垂直

[英]Android Table orientation vertical

我现在正在研究一个表格功能,但我不知道如何更改表格的方向。

这是我的水平视图,这是我对水平视图的期望:

在此处输入图像描述

还有我的水平视图代码:

private void setupTable() {
    setStretchAllColumns(true);
    setBackground(borderDrawable(mTableBorderWidth));
    setPadding(mTableBorderWidth, mTableBorderWidth, mTableBorderWidth, mTableBorderWidth);

    for (int currentRow = 0; currentRow <= 1; currentRow++) {
        tableRow = new TableRow(mContext);

        if (currentRow == 0) {

            for (int h = 0; h < tableData.field_options.options.size(); h++) {
                textView = new TextView(mContext);
                textView.setTextColor(mTextColor);
                textView.setBackground(borderDrawable(mTextViewBorderWidth));
                textView.setText(tableData.field_options.options.get(h).label);
                textView.setGravity(Gravity.CENTER);
                textView.setPadding(0, 6, 0, 6);
                textView.setTypeface(Typeface.DEFAULT_BOLD);
                tableRow.addView(textView);
            }
        } else {

            for (int currentColumn = 0; currentColumn < tableData.field_options.options.size(); currentColumn++) {
                editText = new EditText(mContext);
                editText.setTextColor(mTextColor);
                editText.setBackground(borderDrawable(mTextViewBorderWidth));
                editText.setGravity(Gravity.CENTER);
                editText.setPadding(0, 6, 0, 6);
                tableRow.addView(editText);
            }
        }
        addView(tableRow);
    }
}

这是我现在的垂直视图:

在此处输入图像描述

我的垂直表代码。 我在这里使用 Linear.Vertical 设置方向,但它没有帮助:

private void setupVerticalTable() {
    setStretchAllColumns(true);
    setOrientation(LinearLayout.VERTICAL);
    setBackground(borderDrawable(mTableBorderWidth));
    setPadding(mTableBorderWidth, mTableBorderWidth, mTableBorderWidth, mTableBorderWidth);


    for (int h = 0; h < tableData.field_options.options.size(); h++) {
        tableRow = new TableRow(mContext);
        textView = new TextView(mContext);
        textView.setTextColor(mTextColor);
        textView.setBackground(borderDrawable(mTextViewBorderWidth));
        textView.setText(tableData.field_options.options.get(h).label);
        textView.setGravity(Gravity.CENTER);
        textView.setPadding(0, 6, 0, 6);
        textView.setTypeface(Typeface.DEFAULT_BOLD);
        tableRow.addView(textView);
        addView(tableRow);
    }

    for (int currentColumn = 0; currentColumn < tableData.field_options.options.size(); currentColumn++) {
        editText = new EditText(mContext);
        tableRow = new TableRow(mContext);
        editText.setTextColor(mTextColor);
        editText.setBackground(borderDrawable(mTextViewBorderWidth));
        editText.setGravity(Gravity.CENTER);
        editText.setPadding(0, 6, 0, 6);
        tableRow.addView(editText);
        addView(tableRow);
    }

}

我想要的是这样的:

在此处输入图像描述

我希望有人可以帮助我解决这个观点。 我不知道如何解决这个问题。 我尝试了很多。

我认为以编程方式更改这两个表是您的问题,这当然不是错误的方式,但可能更难。 您可以在 XML 文件中准备 2 个表。 一张桌子用于纵向模式,垂直桌子。 另一种是横向模式,水平表。 通过这种方式,您可以更轻松地工作。 您可以检查手机方向并使所需表格可见,使其他表格运行时消失。 或者您也可以为纵向模式和横向模式准备 2 个单独的布局。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM