Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.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 设置自定义操作栏_Android_Android Actionbar_Appcompatactivity - Fatal编程技术网

Android 设置自定义操作栏

Android 设置自定义操作栏,android,android-actionbar,appcompatactivity,Android,Android Actionbar,Appcompatactivity,我是一名新的android开发者,我需要帮助解决我的问题。 我的android应用程序在min API 15上运行。 我想使用setSupportActionBar()类似于: Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); setSupportActionBar(myToolbar); 但是API 15不支持它,我的应用程序中的活动扩展了AppCompatActivity,它没有setSupportActionBar(

我是一名新的android开发者,我需要帮助解决我的问题。
我的android应用程序在min API 15上运行。
我想使用
setSupportActionBar()
类似于:

Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);
但是API 15不支持它,我的应用程序中的活动扩展了
AppCompatActivity
,它没有setSupportActionBar()

那么,如何添加自定义的
ActionBar

我的java代码:

import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuInflater;
import android.widget.Button;


public class MainActivity extends AppCompatActivity {

ViewPager pager;
ViewPagerAdapter adapter;
SlidingTabLayout tabs;
CharSequence Titles[] = {"Home", "Events"};
int Numboftabs = 2;
Tab1 t1;
Button b;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    adapter = new ViewPagerAdapter(getSupportFragmentManager(), Titles, Numboftabs);
    t1 = adapter.getTab1();
    pager = (ViewPager) findViewById(R.id.pager);
    pager.setAdapter(adapter);

    tabs = (SlidingTabLayout) findViewById(R.id.tabs);
    tabs.setDistributeEvenly(true);
    tabs.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() {
        @Override
        public int getIndicatorColor(int position) {
            return getResources().getColor(R.color.tabsScrollColor);
        }
    });
    tabs.setViewPager(pager);
    Toolbar t = (Toolbar) findViewById(R.id.tool_bar);
    setSupportActionBar(t);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater menuInflater = getMenuInflater();
    menuInflater.inflate(R.menu.mainmenu, menu);
    return true;
}
}

我的XML代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">

<include
    android:id="@+id/tool_bar"
    layout="@layout/tool_bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<com.example.mshouman.gpdemo.SlidingTabLayout
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimary"
    android:elevation="2dp" />

<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"></android.support.v4.view.ViewPager>

我的XML工具栏代码:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:background="@color/colorPrimary"
android:elevation="5dp"
android:theme="@style/Base.ThemeOverlay.AppCompat.Dark"
xmlns:android="http://schemas.android.com/apk/res/android" />

它应该能工作

Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);
因为这是在支持库中


尝试清理您的projectI尝试一下,但它与
build.gradle
中的AppCompatActivity@N Jadd最新支持库不起作用。我有一个异常:java.lang.RuntimeException:无法启动活动组件信息{com.example.mshouman.gpdemo/com.example.mshouman.gpdemo.MainActivity}:android.view.InflateException:二进制XML文件行#2:类不是此行的视图android.support.v7.app.ActionBar:*setContentView(R.layout.activity_main)**您是否已将Base.Theme.AppCompa.XXXXXX主题声明为基本主题?我的应用程序主题从Theme.AppCompat.Light.darkaActionBar扩展而来