inheritance基本活动的导航抽屉
所以这个想法是通过导航抽屉来切换活动。 我创建了基本活动( TestActivity
)与导航抽屉,它工作正常(它切换到其他活动正确)。 我希望所有活动都具有相同的抽屉式导航栏,但每个活动都需要有自己的应用栏。
但是我得到这个错误: 这个Activity已经有一个窗口装饰提供的操作栏。 请勿在您的主题中请求Window.FEATURE_SUPPORT_ACTION_BAR并将windowActionBar设置为false以代替使用工具栏。 。 它显示了当我打开一个基于TestActivity
的活动。 我试图改变这第二个活动的主题为android:theme="@style/AppTheme.NoActionBar"
但是当我这样做,它只是停留在没有操作栏,它不会从TestActivity
inheritance任何东西。
我正在使用Kotlin和Anko库。
open class TestActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener { val Ui by lazy { NavDrawerComponent() } lateinit var drawer: DrawerLayout lateinit var toogle: ActionBarDrawerToggle lateinit var navigation: NavigationView lateinit var toolbar: Toolbar override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_test2) Ui.setContentView(this) toolbar = Ui.customToolbar setSupportActionBar(toolbar) drawer = Ui.drawer toogle = ActionBarDrawerToggle(this, drawer, toolbar, R.string.drawer_open,R.string.drawer_close) navigation = Ui.navigationView drawer.addDrawerListener(toogle) toogle.syncState() navigation.setNavigationItemSelectedListener(this) } override fun onCreateOptionsMenu(menu: Menu): Boolean { // Inflate the menu; this adds items to the action bar if it is present. menuInflater.inflate(R.menu.custom_menu, menu) return true }
///
class MeasurementActivity : TestActivity(), AnkoLogger { val ui by lazy { MeasurementUi() } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_measurement) ui.setContentView(this) }