如何設置LayoutParams
到Fragment
以編程方式?我可以通過編程將LayoutParams設置爲片段
其實我想添加兩個Fragments
到LinearLayout
編程,我需要設置android:layout_weight
他們。我是Fragment
的新手。我不知道這是不是一個好方法,或者不加Fragments
到Layout
對不起。我的英語不太好。
如何設置LayoutParams
到Fragment
以編程方式?我可以通過編程將LayoutParams設置爲片段
其實我想添加兩個Fragments
到LinearLayout
編程,我需要設置android:layout_weight
他們。我是Fragment
的新手。我不知道這是不是一個好方法,或者不加Fragments
到Layout
對不起。我的英語不太好。
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT);
params.weight = 3.0f;
fragment.getView().setLayoutParams(params);
要進行添加/替換/刪除/安裝/拆卸一個單親的LinearLayout我建議遵循以下基本步驟中的2個或多個片段的交易:
您的片段類中,請確保您指定的LayoutParams您的片段設置layout_height(或layout_width爲水平方向)爲「0」,而layout_weight設置爲某個值:
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_a, container, false);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0, ViewGroup.LayoutParams.MATCH_PARENT);
params.weight = 1.0f;
FragmentManager manager = getActivity().getFragmentManager();
FragmentA fragmentA = (FragmentA) manager.findFragmentByTag("A");
fragmentA.getView().setLayoutParams(params);
}
在這裏,我展示了一個片段的代碼(FragmentA)類,但要確保你有simi在你要使用的每個片段裏面放上一些塊。
而現在,活動,你有你的LinearLayout裏面,這裏是添加單個的LinearLayout內這些片段的例子:
public void addA(View v) {
FragmentA fragmentA = new FragmentA();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.add(R.id.linearLayout, fragmentA, "A");
transaction.commit();
}
哪裏的LinearLayout將是我們的活動佈局內的片段父。
http://stackoverflow.com/questions/5159982/how-do-i-add-a-fragment-to-an-activity-with-a-programmatically-created-content-v – bigstones
感謝bigstones。經過時間的努力。我決定使用layout_weight設置固定片段佈局寬度。但是,無論如何,再次感謝 – kdtphdav