2

我正在尝试遵循Google的材质设计指南,因此我想使用新的工具栏而不是旧的ActionBar。但是,如何将其设置在我的活动中? MainActivity有两个可以左右滑动的屏幕。无法添加Android材质设计工具栏

未找到setSupportActionBar方法,并且setActionBar需要不同版本的工具栏。任何想法?

package com.bla; 

import android.support.design.widget.TabLayout; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.view.ViewPager; 
import android.os.Bundle; 
import android.support.v7.widget.Toolbar; 
import com.bla.ui.TabsPagerAdapter; 


public class MainActivity extends FragmentActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 

     // does not work WTF! 
     setSupportActionBar(toolbar); 

     ViewPager pager = (ViewPager)findViewById(R.id.pager_list_views); 
     TabsPagerAdapter pagerAdapter = new TabsPagerAdapter(getSupportFragmentManager(), this); 
     pager.setAdapter(pagerAdapter); 

     TabLayout tabLayout = (TabLayout) findViewById(R.id.sliding_tabs); 
     tabLayout.setupWithViewPager(pager); 
    } 
} 
+1

使用AppCompatActivity而不是FragmentActivity –

回答

1

的问题是,要扩展FragmentActivity尝试将其更改为AppCompatActivity

其更改如下

public class MainActivity extends AppCompatActivity { 

不要忘了导入

import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 

阅读this它可能会帮助你理解为什么:)

+0

谢谢,发现它。但它没有回来。该方法根本不存在于FragmentActivity – Matthias

+0

你应该标记为正确的任何答案...因为你有正确的方法来解决你的问题:P –

2
public class MainActivity extends FragmentActivity { 

你应该扩展AppCompatActivity类,作为FragmentActivity类不具备setSupportActionBar(Toolbar)方法。但它的确有setActionBar(Toolbar),但该方法预计会使用Toolbar的non-support-v7版本。