Android 如何使所有活动(MainActivity除外)同时具有带有活动标题和后退按钮的操作栏/工具栏?

Android 如何使所有活动(MainActivity除外)同时具有带有活动标题和后退按钮的操作栏/工具栏?,android,set,android-actionbar,Android,Set,Android Actionbar,我有以下main活动: 当我点击“Congreso”按钮时,会出现以下活动: 当我点击“Programa”按钮时,会出现以下活动: 除了MainActivity之外,所有活动都有一个带有后退按钮的操作栏,每次活动的标题都在同一位置对齐,并且操作栏的颜色相同。就我而言,我希望颜色是蓝色。我的问题是,是否有一种方法可以在应用程序中的单个位置设置该行为,并将其应用于除main活动之外的所有活动,这样,如果有一天我想更改操作栏的颜色或其标题的对齐方式,我就不必逐个转到所有活动并更改它 注:我不知道

我有以下
main活动

当我点击“Congreso”按钮时,会出现以下活动:

当我点击“Programa”按钮时,会出现以下活动:

除了
MainActivity
之外,所有活动都有一个带有后退按钮的操作栏,每次活动的标题都在同一位置对齐,并且操作栏的颜色相同。就我而言,我希望颜色是蓝色。我的问题是,是否有一种方法可以在应用程序中的单个位置设置该行为,并将其应用于除
main活动
之外的所有活动,这样,如果有一天我想更改操作栏的颜色或其标题的对齐方式,我就不必逐个转到所有活动并更改它


注:我不知道屏幕截图上的是动作栏还是工具栏。如果您给我一个带有工具栏的解决方案,也可以。

请制作一个BaseActivity,使用BaseActivity中的操作栏,在那里处理“返回图像单击”,然后在各个活动中设置相应的标题名称。所有活动都将扩展BaseActivity(不包括MainActivity)

请创建一个BaseActivity,使用BaseActivity中的操作栏,在此处处理“返回图像单击”,并在各个活动中设置相应的标题名称。所有活动都将扩展BaseActivity(不包括MainActivity)

在styles.xml中创建2个主题

 <style name="NoActionAppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorPrimaryDark</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowActionBar">false</item>
    </style>

 <style name="ActionBarTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
显示后退按钮的重要信息

getSupportActionBar().setDisplayShowHomeEnabled(true);

在styles.xml中创建2个主题

 <style name="NoActionAppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorPrimaryDark</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowActionBar">false</item>
    </style>

 <style name="ActionBarTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
显示后退按钮的重要信息

getSupportActionBar().setDisplayShowHomeEnabled(true);


如果
color
是唯一需要考虑的问题,则将颜色存储在
res
中并从那里使用。请制作一个BaseActivity,使用BaseActivity中的操作栏,在那里处理“Back Image Click”,并在各个活动中设置相应的标题名称。所有活动都将扩展基本活动(不包括MainActivity)。我不能在
.axml
中这样做,对吗?我必须以编程的方式在代码中完成它?不,您需要使用BaseActivity(继承)。因为这将很容易实现,并且是一个通用的解决方案。如果
颜色
是唯一需要考虑的问题,那么将颜色存储在
res
中并从那里使用。请制作一个BaseActivity,使用BaseActivity中的操作栏,在那里处理“返回图像单击”,并在各个活动中设置相应的标题名称。所有活动都将扩展基本活动(不包括MainActivity)。我不能在
.axml
中这样做,对吗?我必须以编程的方式在代码中完成它?不,您需要使用BaseActivity(继承)。因为它很容易实现,而且是一个通用的解决方案。是的,你可以在中感谢上检查此链接。你可以在中感谢上检查此链接。后退按钮和标题?我已经更新了我的答案。你可以在清单文件中为每项活动使用标签,或者通过编程设置,记住没有操作栏的主题将抛出空值活动中的指针异常如果您试图为其设置标题,则应使用工具栏我可以在清单中设置标题,但对于后退按钮,我必须在我想要有后退按钮的每个活动中使用
getSupportActionBar()。setDisplayShowHomeEnabled(true)
,对吗?如果是,我应该将这一行放在活动的哪个位置?在setContentView()之后创建时添加该行。如果不起作用,我将
活动
标记放在
AndroidManifest.xml
应用程序标记中。是这样吗?顺便说一下,当我创建应用程序时,默认情况下我在
style.xml中加入了
,我只在其中添加了
#0000ff
,因为我希望应用程序的所有文本都是蓝色的。MainActivity.cs上面有
Theme=“@style/AppTheme”
属性,我用
Theme=“@style/NoActionAppTheme”
替换了它,但是没有一个活动有操作栏。我的项目是Xamarin.Android。返回按钮和标题?我已经更新了我的答案。你可以在清单文件中为每个活动使用标签,或者通过编程设置它,记住没有操作栏的主题将在活动中引发空指针异常,如果你试图为其设置标题,那么你应该使用工具栏。我可以在清单但对于后退按钮,我必须在我想要后退按钮的每个活动中使用
getSupportActionBar().setDisplayShowHomeEnabled(true)
,对吗?如果是,我应该将这一行放在活动的哪个位置?在setContentView()之后创建时添加该行。如果不起作用,我将
活动
标记放在
AndroidManifest.xml
应用程序
标记中。是这样吗?顺便说一下,当我创建应用程序时,默认情况下我在
style.xml中加入了
,我只在其中添加了
#0000ff
,因为我希望应用程序的所有文本都是蓝色的。MainActivity.cs上面有
Theme=“@style/AppTheme”
属性,我用
Theme=“@style/NoActionAppTheme”
替换了它,但是没有一个活动有操作栏。我的项目是Xamarin.Android。