Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将ActionBar添加到已扩展ListActivity的活动中?_Android_Android Actionbar_Android Actionbaractivity - Fatal编程技术网

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);


}