带有材料设计滑动标签的ActionBar

时间:2015-06-16 23:33:10

标签: java android xml material-design

在我的应用程序中,我希望除了包含材质设计滑动标签的活动以外的所有活动都有ActionBar。如果我想制作材料设计滑动标签,我需要按照我的风格使用:

 parent="Theme.AppCompat.Light.NoActionBar" 

但是使用此代码,我不会在其他活动中使用ActionBar ....

styles.xml

     <resources>    
    <!-- Base application theme. -->
    <style name="AppTheme"  parent="Theme.AppCompat.Light.NoActionBar">
    </style>    
    </resources>

tool_bar.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="2dp"
    android:theme="@style/Base.ThemeOverlay.AppCompat.Dark"

    xmlns:android="http://schemas.android.com/apk/res/android" />

我应该在资源中创建两种样式还是什么?

1 个答案:

答案 0 :(得分:0)

最好的方法是将它添加到AndroidManifest文件中。您可以通过在清单文件中的&lt; activity&gt; 中包含 android:theme ,将主题应用于任何活动。

例如:

public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setTheme(R.style.MyTheme); // (for Custom theme)
  setTheme(android.R.style.Theme_Holo); // (for Android Built In Theme)

  this.setContentView(R.layout.myactivity);

如果你想以编程方式设置主题,那么在调用 setContentView() super.onCreate()方法之前使用 setTheme() onCreate()方法。

在Activity.java中以编程方式设置它:

x % y !=0