こんにちは、私はandroid.widget.LinearLayout.LayoutParamsを使用していますどのように私はTextViewやアンドロイドベースのアプリケーションのためのTableRowのためにプログラムで余白を追加するのですか?
TextView tv = new TextView(this);
LayoutParams params = new LayoutParams(WRAP_CONTENT, WRAP_CONTENT);
params.setMargins(100, 20, 0, 0);
layout.addView(tv, params);
を使用してみましたが、理由は、テーブルの、私はそれのためにランタイムエラーを得た。プログラムで
マージンを追加しようとしました
どうすればいいですか?
これは私のコードです:輸入android.widget.TableLayout.LayoutParamsで編集
//create table row
TableRow trA = new TableRow(this);
trA.setId(1000+i);
trA.setLayoutParams(new LayoutParams (LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));
//add data to table row
TextView tvA = new TextView (this);
tvA.setId(2000+i);
tvA.setText(aList.get(i).toString());
tvA.setTextSize(18);
tvA.setTextColor(Color.BLACK);
tvA.setClickable(true);
tvA.setOnClickListener(this);
tvA.setSingleLine(false);
tvA.setHorizontallyScrolling(false);
tvA.setWidth(0);
tvA.setHeight(100);
trA.addView(tvA);
tableA.addView(trA,new TableLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
==; ==
私はのTableRow
LayoutParams params = new LayoutParams (LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);
params.setMargins(0, 0, 0, 20);
を宣言し、私は、ログの猫にエラーが発生しているにtableA
tableA.addView(tvA, params);
でaddViewを編集した最後にこれを追加、それは、非常にたくさん表示だから私はここでメインのものを与えた:指定された子はすでに親を持っています。子の親で最初にremoveView()を呼び出す必要があります。
にインポートを変更しますか?スタックトレースを投稿してください – Craigy