0

我一直在尝试使用新的设计库,我有一个工具栏而不是弃用的操作栏。问题是工具栏没有标高。我在布局中添加了海拔高度,在代码中,我甚至添加了AppBarLayout。什么都没有我正在测试棒棒糖和奇巧。为什么工具栏没有提升?

任何帮助,高度赞赏。

我style.xml

<resources> 

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 

     <item name="colorPrimary">@color/ColorPrimary</item> 
     <item name="colorPrimaryDark">@color/ColorPrimaryDark</item> 
     <item name="windowActionBar">false</item> 

     <!-- Customize your theme here. --> 
    </style> 

</resources> 

activity_main.xml中

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
             android:id="@+id/drawer_layout" 
             android:layout_width="match_parent" 
             android:fitsSystemWindows="true" 
             android:layout_height="match_parent"> 
    <RelativeLayout 
      android:id="@+id/container" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      > 
     <include 
       android:elevation="7dp" 
       android:id="@+id/tool_bar" 
       layout="@layout/app_bar" 
       ></include> 
    </RelativeLayout> 
    <android.support.design.widget.NavigationView 
      android:id="@+id/nav_draw" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_gravity="start" 
      app:headerLayout="@layout/drawer_header" 
      app:menu="@menu/drawer" /> 
    </android.support.v4.widget.DrawerLayout> 

主要活动:

public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { 



Toolbar toolbar; 
View root; 
NavigationView nav_draw; 
DrawerLayout drawer_layout; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    setupToolbar(); 

    drawer_layout = (DrawerLayout)findViewById(R.id.drawer_layout); 
    nav_draw = (NavigationView) findViewById(R.id.nav_draw); 
    nav_draw.setNavigationItemSelectedListener(this); 

getSupportFragmentManager().beginTransaction() 
     .replace(R.id.container, new Fragment()) 
     .commit(); 

} 
private void setupToolbar(){ 
    Toolbar toolbar = (Toolbar) findViewById(R.id.tool_bar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setElevation(18); 
    final ActionBar ab = getSupportActionBar(); 
    ab.setHomeAsUpIndicator(R.drawable.abc_ic_ab_back_mtrl_am_alpha); 
    ab.setDisplayHomeAsUpEnabled(true); 
} 
} 

app_bar布局文件

<android.support.v7.widget.Toolbar 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/toolbar" 
    android:layout_height="?attr/actionBarSize" 
    android:layout_width="match_parent" 
    android:minHeight="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    android:elevation="7dp" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 
+1

您使用的是什么版本的SDK?如果你想在Pre Lollipop sdk上升高,你应该选中这个:http://blog.grafixartist.com/add-a-toolbar-elevation-on-pre-lollipop/或者这个:http://stackoverflow.com/questions/ 26743325/appcompat-v21-toolbar-elevation-pre-lollipop –

+0

对于预棒棒糖设备,高程属性不起作用。您可能需要在工具栏下方添加自定义阴影视图。 –

+0

sdk version:23 de [endencies:compile'c​​om.android.support:appcompat-v7:23.0.1' compile'c​​om.android.support:design:22.2.0' – Tina

回答

0

我在一个物理棒棒糖设备上进行了测试,结果如下。我不知道为什么它不能在虚拟设备上工作。

相关问题