我尝试将自定义操作栏添加到自定义素材Android主题。
问题是,要使Theme工作,我的MainActivity需要扩展Activity,而setSupportActionBar方法需要MainActivity来扩展AppCompatActivity。
这是我的主要活动:
import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toolbar;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar myToolbar = (Toolbar) findViewById(R.id.myToolbar);
setSupportActionBar(myToolbar);
}
我的ActivityMain.xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/myToolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/ap_main_dark"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar" />
</LinearLayout>
我的风格
<style name="AjudarOPeixe" parent="android:Theme.Material.Light.NoActionBar" >
<item name="android:colorAccent">@color/ap_red</item>
<item name="android:navigationBarColor">@color/ap_main</item>
<item name="android:statusBarColor">@color/ap_main_dark</item>
<item name="android:colorPrimary">@android:color/background_light</item>
<item name="android:textColorPrimary">@android:color/background_dark</item>
</style>
答案 0 :(得分:0)
您需要使用AppCompat主题:
<style name="AjudarOPeixe" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorAccent">@color/ap_red</item>
<item name="navigationBarColor">@color/ap_main</item>
<item name="statusBarColor">@color/ap_main_dark</item>
<item name="colorPrimary">@android:color/background_light</item>
<item name="textColorPrimary">@android:color/background_dark</item>
</style>
然后您可以让MainActivity扩展AppCompatActivity:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar myToolbar = (Toolbar) findViewById(R.id.myToolbar);
setSupportActionBar(myToolbar);
}
}