При создании вашей деятельности или фрагмента, просто создайте условие для вашего вида и надуйте макет, который вы хотите.
Этот пример будет намного более объяснительным:
В деятельности:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
switch(viewType){
case 1:
setContentView(R.layout.layout_1);
break;
case 2:
setContentView(R.layout.layout_2);
break;
default:
setContentView(R.layout.layout_default);
break;
}
}
И во фрагменте:
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view;
switch(viewType){
case 1:
view = inflater.inflate(R.layout.layout_1, container, false);
break;
case 2:
view = inflater.inflate(R.layout.layout_2, container, false);
break;
default:
view = inflater.inflate(R.layout.layout_default, container, false);
break;
}
return view;
}
Но вам нужно будет обрабатывать разные виды (если они есть) для каждого отдельного макета, поэтому я бы рекомендовал помещать методы в каждое условие, чтобы раздувать макет и обрабатывать разные виды.
С уважением,
Матье