我目前正在开发一个聊天应用程序,我希望聊天活动标题可以点击,以便我可以开始另一个活动。我已经使用了自定义ActionBar和这个布局代码:
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/Widget.AppCompat.Toolbar.Button.Navigation"
android:id="@+id/actionbarTitle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:text="@string/app_name"
android:textColor="#FFFFFF"
android:textSize="20sp" />
但是,这与本机操作栏的样式不匹配,因为波纹动画颜色与其他导航按钮不同:
如何将其更改为本机UI?
答案 0 :(得分:1)
自API 23起,动作按钮上的涟漪直径为40dp。将其添加到TextView
:
android:background="?selectableItemBackgroundBorderless"
删除style
属性。不要在不理解其含义的情况下滥用风格,这显然不是导航按钮。
在扩充视图时,您需要获得最中间的上下文,以便正确解析?selectableItemBackgroundBorderless
等主题属性。
选项a)
您可以直接在XML布局文件中的TextView
中使用Toolbar
。
选项b)
手动将TextView
添加到工具栏时,请使用LayoutInflater
中的Toolbar
。
val context = toolbar.context
val inflater = LayoutInflater.from(context)
选项c)
将此TextView
设置为ActionBar
自定义视图时,请使用操作栏的主题背景。
val context = supportActionBar!!.themedContext
val inflater = LayoutInflater.from(context)
替换
android:textColor="#FFFFFF"
android:textSize="20sp"
与
android:textAppearance="@style/TextAppearance.Widget.AppCompat.Toolbar.Title"
用于标准字体大小和从主题继承的文本颜色,以防您开始使用轻型操作栏。