可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
Another Android Studio question here:
I've been looking for an answer and i've tried many possible solutions, but nothing seems to work..
I'm trying to setup a Material Action Bar following this tutorial:
http://www.android4devs.com/2014/12/how-to-make-material-design-app.html
Here's my code:
tool_bar.xml:
activity.xml:
And finally my activity.java:
import android.app.ActionBar; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toolbar; public class rutaActivity extends ActionBarActivity { private Toolbar toolbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_ruta); getSupportActionBar().hide();//Ocultar ActivityBar anterior toolbar = (Toolbar) findViewById(R.id.app_bar); setSupportActionBar(toolbar); //HERE'S THE PROBLEM !!!!
Error: setSupporActionBar (android.support.v7.widget.Toolbar) in ActionBarActivity cannot be applied to (android.widget.Toolbar)
I really don't know what to do, kind of new at this...
回答1:
In You Activity.java
import android.support.v7.widget.Toolbar
instead of android.widget.Toolbar
.
correct version
import android.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.support.v7.widget.Toolbar; public class rutaActivity extends AppCompactActivity { private Toolbar toolbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_ruta); getSupportActionBar().hide();//Ocultar ActivityBar anterior toolbar = (Toolbar) findViewById(R.id.app_bar); setSupportActionBar(toolbar); //NO PROBLEM !!!!
回答2:
In using toolbar you should extends AppCompatActivity and then import android.support.v7.widget.Toolbar
回答3:
For adding a ToolBar that supports Material Design, the official documentation directions are probably the best to follow.
- Add the v7 appcompat support library.
Make your activity extend AppCompatActivity
.
public class MyActivity extends AppCompatActivity { // ... }
Declare NoActionBar
in the Manifest.
Add a toolbar to your activity's xml layout.
Call setSupportActionBar
in the activity's onCreate
.
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); setSupportActionBar(myToolbar); }
Note: You will have to import the following in the activity.
import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar;
回答4:
Certify that your Manifest declaration includes android:theme="@style/AppTheme.NoActionBar" tag, like the following: