扩展时的工具栏 Activity
Toolbar when extending Activity
我需要扩展 Activity 而不是 ActionBarActivity 或 AppCompatActivity 才能使用第三方库。
在我一直在使用 AppCompatActivity 的所有应用程序中,以便轻松地在其中添加工具栏,但显然如果我扩展 Activity,我就不能这样做了。如果有一个 ActionBar,我也会很高兴:它不一样,但总比没有好。不过,我不知道该怎么做 :-/
你对我有什么建议吗?我知道这可能是一个愚蠢的问题,但我只是不知道如何让它发挥作用...
首先检查你正在使用的库。它可能已过时。
使用新的 22.1+ appcompat,您可以使用 AppCompatDelegate 将 AppCompat 的支持扩展到任何 Activity。
你可以查看这个官方 link 到 AppCompatPreferenceActivity,在那里你可以找到这个技术的例子。
你有:
- 将
Toolbar
添加到您的 Activity
:
像这样:
<android.support.v7.widget.Toolbar
android:id="@+id/mytoolbar"
android:background="?attr/colorPrimary"/>
- 使用不带 ActionBar 的
AppCompat Theme
。
像这样:
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">@color/myColor</item>
....
</style>
- 将
AppCompatDelegate
添加到您的 Activity
类似于:
public class MainActivity extends Activity implements AppCompatCallback {
private AppCompatDelegate delegate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//create the delegate
delegate = AppCompatDelegate.create(this, this);
//call the onCreate() of the AppCompatDelegate
delegate.onCreate(savedInstanceState);
//use the delegate to inflate the layout
delegate.setContentView(R.layout.activity_main);
//add the Toolbar
Toolbar toolbar= (Toolbar) findViewById(R.id.mytoolbar);
delegate.setSupportActionBar(toolbar);
}
//.....
}
检查官方示例以包装您的 Activity 的其他方法以与 AppCompatActivity.
完全兼容
我需要扩展 Activity 而不是 ActionBarActivity 或 AppCompatActivity 才能使用第三方库。
在我一直在使用 AppCompatActivity 的所有应用程序中,以便轻松地在其中添加工具栏,但显然如果我扩展 Activity,我就不能这样做了。如果有一个 ActionBar,我也会很高兴:它不一样,但总比没有好。不过,我不知道该怎么做 :-/
你对我有什么建议吗?我知道这可能是一个愚蠢的问题,但我只是不知道如何让它发挥作用...
首先检查你正在使用的库。它可能已过时。
使用新的 22.1+ appcompat,您可以使用 AppCompatDelegate 将 AppCompat 的支持扩展到任何 Activity。
你可以查看这个官方 link 到 AppCompatPreferenceActivity,在那里你可以找到这个技术的例子。
你有:
- 将
Toolbar
添加到您的Activity
:
像这样:
<android.support.v7.widget.Toolbar
android:id="@+id/mytoolbar"
android:background="?attr/colorPrimary"/>
- 使用不带 ActionBar 的
AppCompat Theme
。
像这样:
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">@color/myColor</item>
....
</style>
- 将
AppCompatDelegate
添加到您的Activity
类似于:
public class MainActivity extends Activity implements AppCompatCallback {
private AppCompatDelegate delegate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//create the delegate
delegate = AppCompatDelegate.create(this, this);
//call the onCreate() of the AppCompatDelegate
delegate.onCreate(savedInstanceState);
//use the delegate to inflate the layout
delegate.setContentView(R.layout.activity_main);
//add the Toolbar
Toolbar toolbar= (Toolbar) findViewById(R.id.mytoolbar);
delegate.setSupportActionBar(toolbar);
}
//.....
}
检查官方示例以包装您的 Activity 的其他方法以与 AppCompatActivity.
完全兼容