2

xmlで完全に定義されたレイアウトを使用するアクティビティを作成しました。例:

setContentView(R.layout.my_layout_defined_by_xml);

また、完全にプログラムで作成されたレイアウトを使用したアクティビティも作成しました。例:

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    game_frame_layout = new FrameLayout(getApplicationContext());

    game_frame_layout.addView(some_view_I_made);

    setContentView(game_frame_layout);

しかし、私がこれまでに行ったことがなく、その方法がわからない場合は、2つを組み合わせることができます(これも可能ですか?)たとえば、画面全体をxmlで定義されたボタンとビューで埋めたいとしましょう。プログラムでどこかにボタンを追加します。または逆に、プログラムで作成されたレイアウトにxmlで定義されたサブレイアウトを含めたい場合があります。

実際には非常に些細なことかもしれませんが、1つの問題は、layoutResID(R.id.my_layout_defined_by_xmlなど)をレイアウトに変換する方法がわからないことです。

4

1 に答える 1

4

次のようなxmlファイルからViewオブジェクトを作成できます。

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View v = inflater.inflate(R.layout.your_layout_file_name, null);

逆に、MyTextViewなどのViewを拡張するクラスを作成できます。これをxmlファイルに含める場合は、次のようにします。

<com.example.mypackage.MyTextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="false" />
于 2012-11-29T12:36:01.370 に答える