1

アクティビティのルート ビューを見つけて、下部にフレームレイアウトを追加するにはどうすればよいですか? 逆に、下のコードは上に追加できますが、下には追加できません。

    FrameLayout aLayout = new FrameLayout(getActivity());
    aLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));

    ImageView image = new ImageView(getActivity());
    image.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
    image.setImageResource(R.drawable.alayer_0);
    adLayout.addView(image);

    ViewGroup content = (ViewGroup) getActivity().findViewById(android.R.id.content);
    content.addView(aLayout);
4

5 に答える 5

3

1つの解決策は、xmlで使用する必要があることです。xmlでは、最初に1つの相対レイアウトを取得し、その相対レイアウト内でフレームレイアウトを取得し、フレームレイアウトのプロパティを次のように設定します-

android:layout_alignParentBottom="true"

フレームレイアウトが画面の下部に表示されます。うまくいくことを願っています。

于 2012-10-26T04:48:19.517 に答える
1

idルートレイアウト(XMLのメインレイアウト)にいくつかを割り当てます

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linear_root"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

アクティビティクラス、ルートレイアウトのマップ

LinearLayout mRootLayout;

mRootLayout=(LinearLayout) findViewById(R.id.linear_root);

mRootLayout.add(yourFrameLayout);// this will add your FrameLayout at the last

更新:任意のアクティビティのルートレイアウトを取得するには、getRootViewを使用できます

またgetWindow().getDecorView().findViewById(android.R.id.content)

于 2012-10-26T04:30:30.827 に答える
1

android.R.id.contentFrameLayout. したがって、子ビューを下に揃えることはできません。

あなたができることは、高さと幅のためRelativeLayoutandroid.R.id.contentに追加することです。FILL_PARENT

を に追加できるFrameLayoutようになりRelativeLayoutましたALIGN_PARENT_BOTTOM

于 2012-10-26T04:44:47.173 に答える
1

フッターを追加したいようです。フレームレイアウトで xml を開始し、フッターを線形または相対レイアウトに含めて、android:layout_gravity="bottom" を指定します。これで問題は解決します。

于 2012-10-26T05:12:33.383 に答える