Android 如何将ActionBar添加到已扩展ListActivity的活动中?
我有一个扩展了Android 如何将ActionBar添加到已扩展ListActivity的活动中?,android,android-actionbar,android-actionbaractivity,Android,Android Actionbar,Android Actionbaractivity,我有一个扩展了ListActivity的活动 我是否可以添加操作栏,而不扩展操作栏活动?您可以使用工具栏:将AppCompat工具栏添加到活动布局中 教程(转到操作栏): 文档:在styles.xml中使用holo主题,因为只有在holo之后才能使用ActionBar 使用以下命令: <style name="AppTheme" parent="android:Theme.Holo"> 您可以使用支持库提供的新组件 ActionBar现在已被弃用,您应该使用工具栏,以符合材质设计
ListActivity
的活动我是否可以添加
操作栏
,而不扩展操作栏活动
?您可以使用工具栏:将AppCompat工具栏添加到活动布局中
教程(转到操作栏):
文档:在styles.xml中使用holo主题,因为只有在holo之后才能使用ActionBar 使用以下命令:
<style name="AppTheme" parent="android:Theme.Holo">
您可以使用支持库提供的新组件
ActionBar现在已被弃用,您应该使用工具栏
,以符合材质设计。您可以使用支持库提供的工具栏
将其添加到xml布局中,如下所示:
<android.support.v7.widget.Toolbar
android:id="@+id/my_awesome_toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="56dp"
android:background="?attr/colorPrimary"
/>
然后,在OnCreate()中将AppCompatDelegate
添加到活动中,如下所示
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AppCompatCallback callback = new AppCompatCallback() {
@Override
public void onSupportActionModeStarted(ActionMode actionMode) {
}
@Override
public void onSupportActionModeFinished(ActionMode actionMode) {
}
};
AppCompatDelegate delegate = AppCompatDelegate.create(this,callback);
delegate.onCreate(savedInstanceState);
delegate.setContentView(R.layout.activity_main);
Toolbar toolbar= (Toolbar) findViewById(R.id.my_awesome_toolbar);
delegate.setSupportActionBar(toolbar);
}
注意:要创建AppCompatDelegate,您需要传递活动本身和回调,好的做法应该是在活动中实现回调,但出于缩短时间的原因,我在onCreate()中创建了一个实例。发布您的styles.xml请看这里,我认为这是解决方案:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AppCompatCallback callback = new AppCompatCallback() {
@Override
public void onSupportActionModeStarted(ActionMode actionMode) {
}
@Override
public void onSupportActionModeFinished(ActionMode actionMode) {
}
};
AppCompatDelegate delegate = AppCompatDelegate.create(this,callback);
delegate.onCreate(savedInstanceState);
delegate.setContentView(R.layout.activity_main);
Toolbar toolbar= (Toolbar) findViewById(R.id.my_awesome_toolbar);
delegate.setSupportActionBar(toolbar);
}