Как говорили другие, вы можете добавить несколько классов к элементу.
Но это не совсем так. Я задаю вопрос о наследовании. Реальная точка заключается в том, что наследование в CSS выполняется не через классы, а через иерархии элементов. Поэтому для моделирования унаследованных признаков вам необходимо применить их к различным уровням элементов в DOM.
Создайте макет, скажем, toolbar_layout, и добавьте код для вашего макета, затем включите макет во все ваши действия:
Вы можете создать класс с именем BaseActivity
, который расширит AppCompatActivity
и поместит туда код и функциональность, которые вы хотите использовать во всех остальных Activity
. Затем в каждой своей деятельности вы будете расширять BaseActivity
вместо AppCompatActivity
. Делая это, вы можете избежать дублирования вашего кода. Помните, что вам придется помещать ActionBar
в каждый файл макета деятельности .xml
.
создайте функцию baseActivity
add внутри нее, чтобы инициализировать панель инструментов и настроить ее так, как вам нравится
open class BaseActivity : AppCompatActivity() {
protected fun initializeToolbar() {
val toolbar: Toolbar = findViewById(R.id.toolbar)
setSupportActionBar(toolbar)
}
}
create toolbar_main.xml
расширяет baseActivity
в любой активности после включения toolbar_main.xml
в <include layout="@layout/toolbar_main" />
class MainActivity : BaseActivity(){
}
и вызова функции, созданной вами в baseActivity
.