在将CustomView应用于ActionBar时,我目前正在按照以下步骤操作。
//Activity.onCreate
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_initialize)
supportActionBar?.setDisplayShowCustomEnabled(true)
supportActionBar?.setCustomView(R.layout.appbar)
}
但是,使用相同的CustomView,对所有其他活动使用相同的功能是一种浪费。
有一种方法可以将上述函数放到所有活动都共同继承的父活动中,但我们不想仅为该过程创建父活动。
所以,我要在style.xml中指定customview布局。
<style name="CustomAppBar" parent="@style/Widget.AppCompat.Light.ActionBar">
<item name="android:background">@android:color/transparent</item>
<item name="android:displayOptions">showCustom</item>
<!--<item name="android:customNavigationLayout">@layout/appbar</item>-->
</style>
android:customNavigationLayout和android:layout都不是我想要的。
android:customNavigationLayout,android:layout这两个属性都不是我想要的。
即使是android:displayOptions也无法正常工作。 (我必须另外应用setDisplayShowCustomEnabled,因为在上述状态下应用setCustomView时自定义视图不可见)
仅通过修改样式就不可能将自定义视图应用于操作栏吗?