LayoutParams でフラグメントを動的に追加することは可能ですか? RelativeLayout に入れたいフラグメントが 2 つあります。1 つは左にロックする必要があります。もう一方は右側にロックする必要があります。
8232 次
4 に答える
2
それらをそれぞれレイアウト ( など) でラップし、そのサイズと位置を設定できます。この回答は同様の問題に関するもので、をカスタム レイアウト パラメータとともに使用して を含める方法を示しています。LinearLayout
FrameLayout
Fragment
fragment
XML でオブジェクトを使用する場合、android:layout_*
属性を使用してその位置を制御できることに注意してください。そのようです:
<LinearLayout
android:orientation="horizontal"
... >
<fragment
android:layout_height="wrap_content"
android:layout_width="0px"
android:layout_weight="1"
... />
<fragment
android:layout_height="wrap_content"
android:layout_width="0px"
android:layout_weight="1"
... />
</LinearLayout>
Fragment
ただし、レイアウト パラメーターをプログラムでsに適用することはできないと思います。ViewGroup
結局のところ、彼らは s ではありません。
于 2012-09-10T19:09:49.387 に答える
0
onCreateViewメソッドで Fragment のLayoutParametersを設定できます。このメソッドの戻り値として最終ビューを返す前に、レイアウト パラメータを設定できます。以下のフラグメントのサンプルとして、LayoutParams を設定することにより、TextView を親に固定された View として返します。
public static class DummySectionFragment extends Fragment {
public static final String ARG_SECTION_NUMBER = "placeholder_text";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
TextView textView = new TextView(getActivity());
textView.setGravity(Gravity.CENTER);
textView.setText(Integer.toString(getArguments().getInt(
ARG_SECTION_NUMBER)));
LayoutParams lp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
textView.setLayoutParams(lp);
return textView;
}
}
于 2013-09-24T08:12:15.173 に答える