Mar*_*tti 0 android android-appcompat android-activity android-actionbar android-toolbar
我需要扩展Activity而不是ActionBarActivity或AppCompatActivity才能使用第三方库.
在所有应用程序中,我一直在使用AppCompatActivity以便在其中轻松添加工具栏,但是如果我扩展Activity,显然我不能这样做.我也很高兴有一个ActionBar:它不一样,但它总比没有好.不过,我不知道怎么做: - /
你对我有什么建议吗?我知道这可能是一个愚蠢的问题,但我只是不知道如何使这项工作......
首先检查您正在使用的库.它可能已经过时了.
使用新的22.1+ appcompat,您可以使用AppCompatDelegate将AppCompat的支持扩展到任何Activity.
您可以查看AppCompatPreferenceActivity的官方链接,您可以在其中找到此技术的示例.
你有 :
Toolbar到您的Activity:像这样的东西:
<android.support.v7.widget.Toolbar
android:id="@+id/mytoolbar"
android:background="?attr/colorPrimary"/>
Run Code Online (Sandbox Code Playgroud)
AppCompat Theme没有ActionBar.这样的事情:
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">@color/myColor</item>
....
</style>
Run Code Online (Sandbox Code Playgroud)
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);
}
//.....
}
Run Code Online (Sandbox Code Playgroud)
检查官方示例以包装Activity的其他方法以与AppCompatActivity完全兼容.
| 归档时间: |
|
| 查看次数: |
3603 次 |
| 最近记录: |