添加工具栏
Toolbar 是 ActionBar 的推广,用于应用程序布局。虽然 ActionBar 传统上是由框架控制的 Activity's 不透明窗口装饰的一部分,但是 Toolbar 可以放置在视图层次结构内的任何任意嵌套级别。可以通过执行以下步骤添加它:
-
确保在依赖项下的模块(例如 app) build.gradle 文件中添加以下依赖项:
compile 'com.android.support:appcompat-v7:25.3.1' -
将应用的主题设置为没有
ActionBar的主题。为此,请在res/values下编辑 styles.xml 文件,并设置Theme.AppCompat主题。
在这个例子中,我们使用Theme.AppCompat.NoActionBar作为你的AppTheme的父级:<style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> <item name="colorPrimary">@color/primary</item> <item name="colorPrimaryDark">@color/primaryDark</item> <item name="colorAccent">@color/accent</item> </style>你也可以使用
Theme.AppCompat.Light.NoActionBar或Theme.AppCompat.DayNight.NoActionBar,或任何其他本身没有ActionBar的主题 -
将
Toolbar添加到你的活动布局:<android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" android:elevation="4dp"/>在
Toolbar下方,你可以添加其余的布局。 -
在你的
Activity中,将Toolbar设置为此ActionBar的ActionBar。如果你正在使用 appcompat 库和AppCompatActivity,那么你将使用setSupportActionBar()方法:@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); //... }
执行上述步骤后,你可以使用 getSupportActionBar() 方法来操作设置为 ActionBar 的 Toolbar。
例如,你可以设置标题,如下所示:
getSupportActionBar().setTitle("Activity Title");
例如,你还可以设置标题和背景颜色,如下所示:
CharSequence title = "Your App Name";
SpannableString s = new SpannableString(title);
s.setSpan(new ForegroundColorSpan(Color.RED), 0, title.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
getSupportActionBar().setTitle(s);
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.argb(128, 0, 0, 0)));