2

まず、AndroidAPKに精通していないということから始めましょう。私の解決策は、オンラインドキュメントを読むことで解決できるかもしれません。私はドキュメントを読み込もうとしましたが、何かが足りないという結論に達しました。

私の目標は、PhoneGapアプリケーションのルートビューを取得してViewGroup内に配置し、新しいビューグループを使用するようにプライマリアクティビティを設定することです。これは、Webビューの上に他のビューをオーバーレイできるようにするためです。

ViewGroupを作成し、アクティビティのコンテンツビューからルートビューを削除し、ルートビューをViewGroupに追加してから、コンテンツビューをRootViewに設定すると、空白の画面が表示されます。ただし、ImageViewをビューグループに追加すると、画像は正常にレンダリングされます。これは、私がルートビューまたはウェブビューで重要なことをしていないと私に信じさせます。

アドバイスやガイダンスをいただければ幸いです。

コード:

アクティビティコード:

@Override
public void onCreate(Bundle savedInstanceState) {
    ((ViewGroup)this.root.getParent()).removeView(this.root);
    this.mainView = new MainView(this.getActivity());
    this.mainView.setBackgroundColor(Color.WHITE);
    this.mainView.addView(this.root);
    this.setContentView(this.mainView);
}

MainViewコード:

protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
    if(this.getChildCount() == 1){
        this.getChildAt(0).layout(left, top, right, bottom);
    }
}
4

1 に答える 1

0

私はそれを考え出した。

ビューグループを使用する場合は、追加された子に対してメジャーを呼び出す必要があります。

@Override
protected void onMeasure(int width, int height){
    super.onMeasure(width,height);
    if(this.getChildCount() == 1){
        this.getChildAt(0).measure(width,height);
    }
}
于 2013-01-28T17:18:37.917 に答える