网上的一大堆,都是有问题不完整的,互相copy。。。记录一下自己的解决方法。
<android.support.v7.widget.Toolbar
android:id="@+id/tool_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:titleMargin="0dp"
app:contentInsetEnd="0dp" //重要
app:contentInsetStart="0dp" //重要
app:navigationIcon="@drawable/ic_launcher">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" //重要
android:textSize="20sp"
android:singleLine="true"
android:textColor="@android:color/black"
android:text="居中显示居中显示" />
</android.support.v7.widget.Toolbar>
另外附上menu的例子代码:res/menu/menu_tool_bar.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_search"
android:icon="@android:drawable/ic_menu_search"
android:title="menu_search"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_item_one"
android:icon="@android:drawable/ic_menu_add"
android:title="menu_more"
app:showAsAction="never" />
</menu>
java代码如下:
val toolbar = findViewById<Toolbar>(R.id.tool_bar)
toolbar.inflateMenu(R.menu.menu_tool_bar)
toolbar.setOnMenuItemClickListener设置menuItem的点击事件
另外:我的Activity是继承FragmentActivity的,不用调用setSupportActionBar(toolbar),但是需要配置AppTheme。如下:
<application android:theme="@style/AppTheme" />
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>