0

LinearLayout(*1)私は既存のスクロールされた別のものを入れたいですLayouts(*2)。どちらに行こうか少し迷っています。

First one:

xml で定義しLayout(*2)てリソースからアプリケーションにロードするには、その子要素 ​​(text/edit/icon ビュー) の値 (unique_id/text) を設定してから scrolled に配置しますLayout(*1)。

Second one:

Layout(*2)コードでゼロからビルドしてから、 に挿入しLinearLayout(*1)ます。

一般的なルールは、xml でレイアウトを定義することです。しかし、これは少し異なるアプローチです。この要素を削除することを検討するとどうなりますか。挿入されたすべてのレイアウトがプログラムによって個別のオブジェクトとして表示される場合はどうなりますか?

明確にしていただきありがとうございます。

EDIT:2番目の方法に従うと、値を設定するのは簡単で、属性を設定するのは問題がありますが、実際には機能します。これを最初の方法で行う意味があるかどうかを知りたいだけです。

4

2 に答える 2

0

これを使ってみてください:-

setContentView(ll);

LinearLayout ll = (LinearLayout) LayoutInflater.from(this).inflate(R.layout.common_layout)
TextView tv = new TextView(this);
tv.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
tv.setText("sample text");
ll.addView(tv);

それは助けになるかもしれません。

于 2013-10-20T08:28:22.320 に答える
0

最初のアプローチを使用するには、 を使用しinflateてレイアウト リソースを取得する必要があります。LayoutInflaterメソッドを呼び出すアクティビティでそれを取得できますgetLayoutInflater()View次に、呼び出してこの方法で取得しているを追加できます

yourView.addView(newView)

編集

どちらの方法も良いので、どちらを選ぶかはあなた次第です。通常、属性の設定からコードをよりクリーンに保つために、最初のアプローチを使用します。

于 2013-10-20T08:23:23.753 に答える