Android - 动态创建View的无法解释的上边距

时间:2012-10-10 10:46:42

标签: android

这个想法是为你喜爱的俄罗斯方块正方形形状的漂亮的小200x200方块中的程序创建TextViews。然后,这些观点会转移到与自己相关的自己的路线上。

我面临的问题是:   

前两个视图与顶层的这个步骤有所不同。需要将它们并排排列。 我在调试时检查了它们的边距,它们是相同的,以及它们所处的布局,以及下面的代码。

以下相关代码:

for (int i = 0; i < 2; i++) {
            TableRow tr = new TableRow(this);
            tr.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
                    LayoutParams.WRAP_CONTENT));
            // within each tablerow, we then create the tablecolumns
            // assuming we want two columns only. Change 2 otherwise.
            for (int j = 0; j < 2; j++) {
                try {
                    TextView nyan = new TextView(this);
                    nyan.setText(pail.get(count).getProgramName());
                    nyan.setClickable(true);
                    nyan.setLayoutParams(new LayoutParams(200, 200));
                    nyan.setGravity(Gravity.CENTER);
                    //nyan.setPadding(10, 50, 10, 50);
                    nyan.setBackgroundColor(R.drawable.programlistback);
                    nyan.setSingleLine(false);
                    nyan.setOnClickListener(new View.OnClickListener() {

                        public void onClick(View v) {
                            Intent i = new Intent(v.getContext(),
                                    CourseList.class);
                            i.putExtra("selectedProgram", pail.get(count)
                                    .getProgramID());
                            startActivity(i);
                        }
                    });

                    tr.addView(nyan);
                    // when done with textview creation, update tick for nyan
                    count++;
                } catch (IndexOutOfBoundsException e) {
                    Log.i("expect", "tableOrigin - hit " + count + "th index");
                }
            }
            tabLayout.addView(tr, new LayoutParams(LayoutParams.WRAP_CONTENT,
                    LayoutParams.WRAP_CONTENT));
        }

0 个答案:

没有答案