由于某种原因,只显示下半部分,ActionBar
显示的一半在状态栏后面.为什么会这样?这只发生在DrawerActivity
.
它必须是新版Android的东西,因为我注意到Android 5.0.2和6.0中的错误.在Android 4.4.4中没有问题.
我正在扩展我Activity
的android.support.v7.app.AppCompatActivity
并在其中实现一些片段.
这是我的应用配置:
android { compileSdkVersion 22 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.mypackage.myapp" minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName "1.0" }
的布局 DrawerActivity
styles.xml:
onCreate
方法DrawerActivity
:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_drawer); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); //Setting floating button FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.setDrawerListener(toggle); toggle.syncState(); NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); //Setting up default fragment. Fragment fragment = HomeFragment.newInstance(null, null); FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.mainFrame, fragment); ft.commit(); }
这是一个更好理解的截图:
谢谢!