Невозможно добавить панель инструментов Android Material Design
Я пытаюсь следовать рекомендациям Google по дизайну материалов, и поэтому я хотел бы использовать новую панель инструментов вместо старой панели действий. Но как мне установить это в моей деятельности? MainActivity имеет два экрана, которые можно проводить влево / вправо.
Метод 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);
}
}
2 ответа
Проблема в том, что вы расширяете FragmentActivity
попробуйте изменить его на AppCompatActivity
Измените это следующим образом
public class MainActivity extends AppCompatActivity {
Не забудьте импортировать
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
Прочитайте это, это может помочь вам понять, почему:)
public class MainActivity extends FragmentActivity {
Вы должны расширять класс AppCompatActivity, так как класс FragmentActivity не имеет setSupportActionBar(Toolbar)
метод. Это, однако, имеет setActionBar(Toolbar)
, но этот метод ожидает версию не-support-v7 Toolbar
использоваться.