扩展时的工具栏活动
问题描述:
我需要扩展Activity而不是ActionBarActivity或AppCompatActivity才能使用第三方库。扩展时的工具栏活动
在所有的应用程序,我一直在使用AppCompatActivity为了容易在里面添加一个工具栏,但显然如果我延长活动,我不能这样做。我也很高兴只有一个ActionBar:它不一样,但总比没有好。不过,我不知道该怎么做: -/
对我有什么建议吗?我知道这是一个愚蠢的问题,也许,但我只是不知道如何使这项工作...
答
首先检查您所使用的库。它可能已经过时了。
随着新22.1+程序兼容性可以使用AppCompatDelegate到程序兼容性的支持扩展到任何活动。
您可以检查这个官方链接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);
}
//.....
}
检查正式例如包裹Y的其他方法我们的Activity与AppCompatActivity完全兼容。
+0
Gabriele,我想我爱你:-)非常感谢你! –
'ActionBarActivity'扩展了'Activity',所以你的第三方库应该可以使用它。你面临什么问题? – Nachi
我需要扩展应用程序提供的OPActivity,以便使用某些方法。 OPActivity扩展了Activity,而不是ActionBarActivity,而且我无法扩展Java中的多个类: -/ –
库很明显地出现在Jar中,所以我无法在更适当的“extends ActionBarActivity”中更改“extends Activity”;-) –