Как загрузить макет в коде из XML-файла
Я использую http://viewpagerindicator.com/, и у меня проблема с использованием макета XML в коде. Обычно я использую setContentView(R.layout.activity_main)
, Конечно, я могу создать макет в коде, но я предпочитаю использовать файлы XML.
public final class FragmentOne extends Fragment {
private static final String KEY_CONTENT = "FragmentOne";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if ((savedInstanceState != null) && savedInstanceState.containsKey(KEY_CONTENT)) {
mContent = savedInstanceState.getString(KEY_CONTENT);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
TextView text = new TextView(getActivity());
text.setGravity(Gravity.CENTER);
text.setText("some text");
text.setTextSize(20 * getResources().getDisplayMetrics().density);
text.setPadding(20, 20, 20, 20);
LinearLayout layout = new LinearLayout(getActivity());
layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
layout.setGravity(Gravity.CENTER);
layout.addView(text);
return layout;
}
}
1 ответ
Решение
В onCreateView()
Вы можете использовать LayoutInflater
передан в качестве первого аргумента для раздувания макета.
Ваш код будет выглядеть примерно так:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.my_fragment_layout, container, false);
}