线性布局无法强制转换为工具栏

时间:2015-01-28 12:19:12

标签: java android android-layout android-studio android-toolbar

我尝试按照此处https://stackoverflow.com/a/26904102/4273056

的方法将阴影添加到工具栏

它在我的设备上崩溃,这些是错误

我无法弄清楚如何发布代码,因为网站一直告诉它即使做了很多事情也没有格式化,所以这里有一个粘贴桶链接..

The Errors are here,Click here

这是工具栏布局

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">

<android.support.v7.widget.Toolbar
    style="@style/ToolBarStyle"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:minHeight="@dimen/abc_action_bar_default_height_material"
    android:id="@+id/toolbar_actionbar"
    />

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- **** Place Your Content Here **** -->

    <View
        android:layout_width="match_parent"
        android:layout_height="5dp"
        android:background="@drawable/toolbar_dropshadow" />
</FrameLayout>

主要活动

public class MainActivity extends ActionBarActivity implements NavigationDrawerCallbacks {

private Toolbar mToolbar;
private NavigationDrawerFragment mNavigationDrawerFragment;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
    setSupportActionBar(mToolbar);
    getSupportActionBar().setDisplayShowHomeEnabled(true);



    mNavigationDrawerFragment = (NavigationDrawerFragment) getFragmentManager().findFragmentById(R.id.fragment_drawer);
    mNavigationDrawerFragment.setup(R.id.fragment_drawer, (DrawerLayout) findViewById(R.id.drawer), mToolbar);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return super.onCreateOptionsMenu(menu);
}

@Override
public void onNavigationDrawerItemSelected(int position) {
    Toast.makeText(this, "Menu item selected -> " + position, Toast.LENGTH_SHORT).show();
}

@Override
public void onBackPressed() {
    if (mNavigationDrawerFragment.isDrawerOpen())
        mNavigationDrawerFragment.closeDrawer();
    else
        super.onBackPressed();
}

}

我应该怎么做才能摆脱这些错误,请帮助

2 个答案:

答案 0 :(得分:2)

你需要改变

mToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);

mToolbar = (Toolbar) findViewById(R.id.tool_bar);

答案 1 :(得分:0)

您应该检查activity_main.xml布局。

在此布局中,您使用带有

的元素(可能是包含)
 id ="toolbar_actionbar"

您必须更改此ID。