如何自定义从安卓工作室的调色板添加的工具栏



每个教程都是关于如何创建一个工具栏,而不是关于如何从调色板本身添加一个然后自定义它。两者之间有什么区别和优点/缺点?对于原始问题,如何自定义从调色板添加的工具栏?

创建工具栏是单独添加一个工具栏.xml文件,您可以在其中根据需要对其进行自定义。例如:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:background="@color/colorPrimary">
<TextView
android:id="@+id/toolbarTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:textSize="20sp"
android:textStyle="bold"
android:layout_marginRight="?attr/actionBarSize"
android:layout_marginEnd="?attr/actionBarSize"
android:gravity="center"/>
</android.support.v7.widget.Toolbar>

通过此方法,您可以根据需要自定义工具栏,以添加图像视图,文本视图或任何其他基于主题的自定义。现在这样做,您必须在每个 xml 活动文件中声明工具栏

<include
android:id="@+id/toolbar"
layout="@layout/toolbar"/>

此外,您需要在每个活动的 onCreate 中声明它,例如:

Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});

注意:您可以通过转到值->样式.xml文件从调色板自定义工具栏

<style name="CustomTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorSecondary</item>

您可以从可用的主题调色板进行自定义,而不是 NoActionBar。查看此处的官方文档链接以获取更多详细信息。

注意:使用自定义主题的好处是您可以基于自定义它 根据您的需要;缺点是你必须在任何地方声明 消耗时间。使用安卓工作室提供的主题的好处是 您可以更快、更轻松地构建应用,但自定义是 有限。

最新更新