Junior — Middle
Възможно ли е и по какъв начин да се реализира Fragment с помощта на програмен код?
sobes.tech AI
Отговор от AI
Да, в Android може да се създаде и управлява Fragment изцяло програмно, без използване на XML оформление. За това е необходимо:
- Да се създаде клас, наследяващ от
Fragment. - Да се презапише методът
onCreateView, където да се създаде и върне кореновият View програмно. - Да се добави Fragment към Activity чрез FragmentManager с помощта на код.
Пример за създаване на прост Fragment с View, създаден програмно:
class MyFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
): View? {
val textView = TextView(requireContext())
textView.text = "Програмно създаден Fragment"
textView.gravity = Gravity.CENTER
textView.textSize = 20f
return textView
}
}
Добавяне на Fragment към Activity програмно:
supportFragmentManager.beginTransaction()
.replace(R.id.fragment_container, MyFragment())
.commit()
По този начин цялото UI и логиката на фрагмента могат да бъдат създадени и управлявани чрез код без XML.