有没有办法创建一个新的布局,然后你可以让你的XML膨胀?
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle icicle){
one_third = (RelativeLayout)getActivity().findViewById(R.id.list3);
DisplayMetrics dm = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
String width = "" + dm.widthPixels;
int WIDTH;
int SIZE;
SIZE = Integer.parseInt(width.toString());
WIDTH = (SIZE / 3);
one_third.setMinimumWidth(WIDTH);
View homeselect = inflater.inflate(R.layout.listelements, container, false);
setListAdapter(new ArrayAdapter<String>(getActivity(),
R.layout.start_row, R.id.label, views));
return homeselect;
}
我正在尝试在片段中使用这段代码,这里是我想要创建新布局的地方。我想给它宽度值 WIDHT ,然后让我的xml填充它。
答案 0 :(得分:1)
这个问题并不是关于Fragment的。这里的API只是提供Fragment管理的视图层次结构的一部分。所有布局都基于视图层次结构。你做 *不*在这里做你的布局,因为你甚至不知道进行布局的空间。
当您使用视图层次结构时,正确答案是相同的:通过onMeasure()和onLayout()参与常规布局流程。如果标准布局管理器不能满足您的需求,您可以实现自己的ViewGroup特殊子类,根据它获得的大小来完成所需的布局。