我需要扩展Activity而不是ActionBarActivity或AppCompatActivity才能使用第三方库。
在我使用AppCompatActivity的所有应用程序中,为了轻松添加工具栏,但是如果我扩展Activity,显然我不能这样做。我也很高兴有一个ActionBar:它不一样,但它总比没有好。不过,我不知道怎么做: - /
你对我有什么建议吗?我知道这可能是一个愚蠢的问题,但我只是不知道如何使这项工作......
答案 0 :(得分:5)
首先检查您正在使用的库。它可能已经过时了。
使用新的22.1+ appcompat,您可以使用AppCompatDelegate将AppCompat的支持扩展到任何活动。
您可以查看AppCompatPreferenceActivity的官方链接,在这里您可以找到此技术的示例。
你有:
Toolbar
添加到您的Activity
:这样的事情:
<android.support.v7.widget.Toolbar
android:id="@+id/mytoolbar"
android:background="?attr/colorPrimary"/>
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完全兼容。