0

カスタム ビューを作成し、view.button を追加したいので、次のソリューションを作成しました。

Public void onCreate(Bundle savedInstanceState)
{
    Button up;
    up = new Button(getApplicationContext());
    up.setText("ahoj");
    up.setHeight(100);
    up.setWidth(100);
    up.setTop(200);
    up.setLeft(100);
    LinearLayout layout = new LinearLayout(getApplicationContext());
    super.onCreate(savedInstanceState);
    setContentView(layout);

    myview view = new myview(this);
    layout.addView(view);

layout.addView(up);

ビューのみが表示されますが、ボタンは表示されません。私のビューは、いくつかの PNG ファイルのみを描画します。誰が問題がどこにあるか知っていますか? どうもありがとう。

4

2 に答える 2

3

最も可能性の高い理由は、カスタム ビューに layout params が追加されていることですMATCH_PARENT。レイアウト全体が使用され、ボタンは表示されません。代わりに、WRAP_CONTENTparamsを使用してカスタム ビューを追加してみてください。

MyView view = new myview(this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LAYOUTParams.WRAP_CONTENT)
layout.addView(view, lp);
于 2012-09-25T10:35:31.917 に答える
0

コードは正しいのですが、順序が間違っています。これを試して:

Public void onCreate(Bundle savedInstanceState)
{
    Button up;
    LinearLayout layout = new LinearLayout(getApplicationContext());
    up = new Button(getApplicationContext());
    up.setText("ahoj");
    up.setHeight(100);
    up.setWidth(100);
    up.setTop(200);
    up.setLeft(100);




    myview view = new myview(this);
    layout.addView(view);
    layout.addView(up);

    setContentView(layout);
    super.onCreate(savedInstanceState);
}
于 2012-09-25T10:36:55.617 に答える